二进制,二进制,三个移位运算

1.二进制

 二进制有着原码,反码,补码之分,在计算机中都是用补码进行运算,这样符合计算机的特性。

a,  首先说说正数,正数的原码,反码,补码都一样 ,只要写出原码,一切都OK,运算当然是用反码啦,在这也就是原码。

b, 其次是负数,负数相对复杂一些,反码是符号位不变,其他位全取反,补码是在反码基础上加1,找负数补码还有一种快捷方法,符号位不变,从右往左看,第一个1之前的数全部取反。


2.四个位运算(补码运算,有负数一定要变成补码,结果为负数也要变成原码)

a, 按位与  &   只有当参与运算的两个数都为1,结果才为1,例如 1&1=1,1&0=0,0&0=0。

b, 按位或  |  其中一个为1,结果为1.

c, 按位异或  ^ 一个数为0,另一个数为1,结果为1.

d, 按位取反  ~ 包括符号位在内的全部数d都取反。


3.三个移位运算(补码运算,有负数一定要变成补码,结果为负数也要变成原码)

a, 算术右移,>>,低位溢出,符号位不变,并用符号位数补溢出的高位。

b, 算术左移,<<,符号位不变,低位补零。

c, 逻辑右移,>>>,低位溢出,高位补零。

猜你喜欢

转载自blog.csdn.net/littlegiantwang/article/details/80735581