二进制-位运算

~ 2025-6-2 10:48:02

1.原码

  • 正数的原码就是其二进制本身,正数的二进制计算方法为:短除法,也就是除二取余,逆序排列余数。例如:14的二进制:14/2=7...0;7/2=3...1;3/2=1...1;1/2=0...1; 将得到的余数逆序排列,得到1110.也就是说14的二进制是1110. 那么14的32位原码就是0000 0000 0000 0000 0000 0000 0000 1110;14的16位原码是0000 0000 0000 1110。其中最左位也就是最高位是符号位,不参与数字大小计算。0表示该二进制数是正数,1表示该二进制数是负数
  • 负数的原码就是将对应的正数的原码的符号位改成1. 例如-14的原码:其中14的二进制是1110. 14的32位原码是:0000 0000 0000 0000 0000 0000 0000 1110. 则-14的原码就是1000 0000 0000 0000 0000 0000 0000 1110

2.反码

  • 正数的反码就是他的原码
  • 负数的反码就是将该负数的原码除符号位以外,全部取反(也就是1变0,0变1)。例如-14的反码计算方法:先算-14的原码是1000 0000 0000 0000 0000 0000 0000 1110。 则-14的反码是:1111 1111 1111 1111 1111 1111 1111 0001

3.补码

  • 正数的补码就是他的原码
  • 负数的补码:就是该负数的反码+1. 例如计算-14的补码:先算14的原码是0000 0000 0000 0000 0000 0000 0000 1110。 则-14的原码:1000 0000 0000 0000 0000 0000 0000 1110. 则-14的反码是:1111 1111 1111 1111 1111 1111 1111 0001. 则-14的补码是1111 1111 1111 1111 1111 1111 1111 0010.
  • 其实计算机采用的二进制就是指补码,就是让你计算一个数的二进制时,实际上实在算他的补码。

4.按位与

  • 按位与的符号是:"&". 规则:同1为1,其余为0. 例如5&6.计算方法: 首先5的16位补码:0000 0000 0000 0101.而6的补码:0000 0000 0000 0110.
  • 然后对齐
  • 0000 0000 0000 0101
  • 0000 0000 0000 0110
  • 0000 0000 0000 0100. 该数的十进制是4
  • 按位与使用小技巧:任何一个正奇数和1按位与结果都是1,任何一个正偶数和1按位与都是0;

5.按位或

  • 按位或的符号是:"|". 规则:有1为1,其余为0. 例如5|6.计算方法: 首先5的16位补码:0000 0000 0000 0101.而6的补码:0000 0000 0000 0110.
  • 然后对齐
  • 0000 0000 0000 0101
  • 0000 0000 0000 0110
  • 0000 0000 0000 0111. 该数的十进制是7
  • 按位与使用小技巧:任何一个数和0按位或都是其本身;奇数和1按位或结果就是奇数本身,偶数和1按位或相当于+1;

6.按位异或

  • 按位异或的符号是:"^". 规则:相同为0,其余为1. 例如5^6.计算方法: 首先5的16位补码:0000 0000 0000 0101.而6的补码:0000 0000 0000 0110.
  • 然后对齐
  • 0000 0000 0000 0101
  • 0000 0000 0000 0110
  • 0000 0000 0000 0011. 该数的十进制是3
  • 按位与使用小技巧:任何一个数和0按位或都是其本身;正奇数和1按位或结果就是奇数本身,正偶数和1按位或相当于+1;

7.按位取反

8.左移运算

9.右移运算



我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理