原码、反码、补码、移码
原码:第一位是符号位,其他表示这个数。例如:单字节的整数 5 的原码是 0000 0101 , -5的原码是 1000 0101
反码:正数的反码与原码一样,负数的反码是 原码的符号位不变,其余位取反。 5 的反码还是 0000 0101 , -5的反码是 1111 1010
补码:正数的补码与原码一样,负数的补码是 原码的符号位不变,其余位取反,再加1 。5的补码还是 0000 0101 , -5的补码是 1111 1011
移码:又称增码,多表示浮点数的阶码。求法是 将补码的符号位直接取反即可。
8位码 +0 与 -0 的 机器码:
[5]原 = 0000 0101 [-5]原 = 1000 0101
[5]反 = 0000 0101 [-5]反 = 1111 1010
[5]补 = 0000 0101 [-5]补 = 1111 1011
[5]移 = 1000 0101 [-5]移 = 0111 1011
已知 [X]反,求[X]原 。首先看符号位是0还是1,若是0则一样,若是1,符号位不变其余位取反。
已知 [X]补,求[X]原 。首先看符号位是0还是1,若是0则一样,若是1,先减1 再符号位不变其余位取反。
已知 [X]补,求[-X]补 。包括符号位全部取反 再加1。
参考:
计算机组成原理——原码、反码、补码的表示范围_原码小数表示范围_pingpingwuqi123的博客-CSDN博客
**
常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。
昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。