原码,反码,补码介绍
原码:
就是“数学意义”上的一个整数的二进制的原来(本来)的形式。
其中,又在计算机中有一个规定:一个二进制数字(比如32位),最左边的一位是符号位:
0表示是正数;
1表示是负数;
原码举例:
3就是:
5就是:
-3就是:10000011
-5就是:10000101
反码:
这样规定:
正数的反码就是其原码本身(即不变);
负数的反码是:符号位不变,其他所有位取反(~)所得到的结果:
3的反码就是:
5的反码就是:
-3的反码就是:
-5的反码就是:
补码:
这样规定:
正数的补码就是其原码本身(即不变);
负数的补码是:符号位不变,反码加1,(即原码基础上其他所有位取反后加1):
3的补码就是:
5的补码就是:
-3的补码就是:
-5的补码就是:
举一例:
4的原码:
-4的原码:10000100
-4的反码:
-4的补码:
位运算的一个典型应用:
目标:
“管理”一组具有开关状态的“数据”(事物)。
开关状态:就是只有2个状态,比如true/false,“是/否”,“开/关”,“来/去”
一组:就是指多个,若干个——自然应该是有一个明确的个数
假设:
有5个灯泡,需要管理。这5个灯泡,有个编号顺序,它们的管理需求是:
1,指定任意一盏灯泡的当前状态;
2,能够打开任意指定的一盏灯泡;
3,能够关闭任意指定的一盏灯泡;
案例1:
运行结果:
案例2:
运行结果:
案例3: