~ : 位元取反運算子:對資料的每個二進位位元取反,即把1變為0,把0變為1 。
~x 類似-x-1
#①正數的原碼、反碼、補碼都是一樣的
②負數的補碼為符號位元不變,剩餘位元取反再加1
③原碼求補碼: 取反, 1
④補碼求原碼: 取反, 1
⑤負數是以補碼儲存的
⑥取反運算是在原碼上進行的
#⑦符號位,1表示負數,0表示正數
~(-2)
首先你要知道-2 在電腦裡面的二進位形式,由⑤和②可知:
#-2 原碼:1000 0000 0000 0010
-2 反碼:1111 1111 1111 1101 #符號位元不變,各位求反
#-2 補碼:1111 1111 1111 1110 #補碼= 反碼+ 1
1111 1111 1111 1110 就是
1111 1111 1111 1110 就是-2在電腦裡面的原型
現在開始對他求反,符號位不變,
按位取反: 0000 0000 0000 0001#很明顯是一個正數,其原碼為其本身,所以輸出為1.
~2
2 原碼,反碼,補碼: 0000 0000 0000 0010
#按位取反: 1111 1111 1111 1101這是一個負數該怎麼辦?能直接求嗎?
很顯然是不行的,⑥說了:取反操作計算結果是在原碼上進行的,⑤也說了:負數是以補碼存儲的
##1111 1111 1111 1101是0000 0000 0000 0010 的反碼,但我們想要的是結果,而不是在計算機裡面的原型,恰好,④補碼求原碼: 取反, 1以上是python中取反運算子怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!