2020-09-15

Python学习心得2020.9.15

二进制:

位:数据存储最小单元,一字节(byte)=8位(bit)。

无符号数:没有符号位,所有二进制均表示数值。

有符号数:最高位表示符号,0为正,1为负。

原码、补码和反码(有符号数)

正数:原码、反码、补码都一样

负数:反码–符号位不变,其余位取反;补码–反码+1

计算机运算的时候,都是以补码的方式来运算的,因为二进制数在内存中是以补码的形式存放的;

按位与 a&b   1&1->1

按位或 a|b    1|1/1|0/0|1 ->1

按位异或 a^b   10/01->1

按位取反 ~a  1=>0/0->1 正数的取反等于正数加1取负,例如11的取反等于-12;负数的取反等于负数加1取正,例如-12的取反等于11

左移 a<<b   二进制a最后加b个零,丢弃高位b位,结果值实际上是a2^b,因为在二进制数后添一个0就相当于该数2

带符号右移 a>>b  舍弃二进制后面b位,正数高位补0,负数高位补1,结果值为a/2^b(取整)

无符号右移a>>>b  无论是正数还是负数,高位通通补0
关于位运算反码补码的总结:正的反码和补码都是原码;负数的补码是反码加1,反码是原码符号位不变,其他位取反
为什么计算机存储数据的时候存补码?:因为计算机中只有加法器,只能进行加操作。存原码对负数进行加操作的时候有问题
计算存数字存补码,计算的时候也是补码,最后结果看的时候看原码
位运算符:&(按位与),|(按位或), ^(异或), ~(取反), >>(右移), <<(左移)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值