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