python的位與,位或,位異或,左移,右移,取反


&位與,

|位或,

^位異或,

>>左移,x>>n ==> x*2**n 

<<右移,x<<n ==> x//2**n

~取反

 

>>> hex(20)十六進制
'0x14'
>>> oct(20)八進制
'0o24'
>>> bin(20)二進制
'0b10100'

2 & 8 

>>> bin(2)
'0b10'
>>> bin(8)
'0b1000'

 

11<<2

>>> bin(11)
'0b1011'

----》》0b101100對應的十進制數為32+8+4=44

 

 

str = input("請輸入數字")
while not str.isdigit():
str = input("輸入的不是數字")

InputNum = float(str or "0")

#輸入一個整數,求這個整數5倍的值
print((InputNum<<2)+InputNum)

 

10按位取反 ~10=-11

補碼為 =  源碼(去除符號)按位取反得到反碼,加1得到補碼

10

    10的原碼:0000 1010  按位取反為1111 0101

    10的反碼:0000 1010

    10的補碼:0000 1010

-11

    -11的原碼:0000 1011

    -11的反碼:1111  0100

    -10的補碼:1111  0101

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM