首页 > 其他分享 >原码、反码、补码以及位运算符

原码、反码、补码以及位运算符

时间:2024-03-17 22:45:09浏览次数:29  
标签:右移 反码 符号 补码 负数 运算符 原码

对于有符号的而言:

  1. 二进制的最高位是符号位:0表示正数,1表示负数(口诀0——>0,1——>-)。
  2. 正数的原码、反码、补码都是一样的(三码合一)。
  3. 负数的反码 = 它的原码符号位不变,其他位取反(0——>1,1——>0)。
  4. 负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1。
  5. 0的反码、补码都是0。
  6. Java没有无符号数,换言之,Java中的数都是有符号的。
  7. 在计算机运算的时候,都是以补码的方式来运算的。
  8. 当我们看运算结果的时候,要看它的原码

位运算符
按位与 & :两位全为1,结果为1,否则为0。
按位或 | :两位有一个为1,结果为1,否则为0。
按位异或 ^ :两位一个为0,一个为1,结果为1,否则为0。
按位取反 ~ :0——>1,1——>0。

案例:

>>(算数右移)、<<(算数左移) 和 >>>(无符号右移)运算规则

  1. 算数右移 >> :低位溢出,符号位不变,并用符号位补溢出的高位
  2. 算数左移 << :符号位不变,低位补0。
  3. “>>>” : 逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0。
  4. 没有 <<< 符号。
    案例:

标签:右移,反码,符号,补码,负数,运算符,原码
From: https://www.cnblogs.com/happyhf/p/18078792

相关文章