69pao国产精品视频-久久精品一区二区二三区-精品国产精品亚洲一本大道-99国产综合一区久久

Python 練習(xí)實(shí)例55

python 練習(xí)實(shí)例55

python 編程100例python 編程100例

題目:學(xué)習(xí)使用按位取反~。

說(shuō)明:

二進(jìn)制數(shù)在內(nèi)存中以補(bǔ)碼的形式存儲(chǔ)。

按位取反:二進(jìn)制每一位取反,0 變 1,1 變 0。

最高位為符號(hào)位,正數(shù)的符號(hào)位為 0,負(fù)數(shù)為 1。

對(duì)正數(shù)來(lái)說(shuō),最高位為 0,其余各位代表數(shù)值本身(以二進(jìn)制表示),如 +42 的補(bǔ)碼為 00101010。

對(duì)負(fù)數(shù)而言,把該數(shù)絕對(duì)值的補(bǔ)碼按位取反,然后對(duì)整個(gè)數(shù)加 1,即得該數(shù)的補(bǔ)碼。如 -42 的補(bǔ)碼為 11010110(00101010 按位取反

11010101+1 即 11010110)。

~9 的計(jì)算步驟:

轉(zhuǎn)二進(jìn)制:0 1001
計(jì)算補(bǔ)碼:0 1001
按位取反:1 0110

轉(zhuǎn)為原碼:

按位取反:1 1001  
末位加 1:1 1010
符號(hào)位為 1 是負(fù)數(shù),即 -10

實(shí)例:

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = 7
b = ~a

c = -7
d = ~c

print ('變量 a 取反結(jié)果為: %d' % b)
print ('變量 c 取反結(jié)果為: %d' % d)

以上實(shí)例中輸出結(jié)果為:

變量 a 取反結(jié)果為: -8
變量 c 取反結(jié)果為: 6

說(shuō)明:

  • ~7,對(duì) 7 進(jìn)行取反,7 的補(bǔ)碼是 00000111 對(duì)補(bǔ)碼取反得到 11111000,最高位 1 為符號(hào)位,表示負(fù)數(shù),所以該補(bǔ)碼對(duì)應(yīng)的整數(shù)為 -8。

  • ~-7 對(duì) -7 進(jìn)行取反,-7 的補(bǔ)碼是 11111001 對(duì)補(bǔ)碼取反得到 00000110,最高位 0 為符號(hào)位,表示正數(shù),所以補(bǔ)碼對(duì)應(yīng)的整數(shù)為 6。

python 編程100例python 編程100例

下一節(jié):python 練習(xí)實(shí)例56

python 編程100例

相關(guān)文章