Johnny-yu

二进制:

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

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

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

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

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

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

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

 

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

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

按位异或 a^b   1^0/0^1->1

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

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

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

无符号右移a>>>b  无论是正数还是负数,高位通通补0

 

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2022-01-16
  • 2022-12-23
猜你喜欢
  • 2021-08-06
  • 2022-12-23
  • 2021-11-09
  • 2022-02-18
相关资源
相似解决方案