二进制-位运算
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.右移运算
我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理