原码、反码、补码、移码
原码、反码、补码、移码
原码、反码、补码和移码是计算机中表示和处理有符号数的几种方法。
原码
原码是计算机中表示有符号数的一种最简单的方法。它使用最高位表示符号位,0表示正数,1表示负数,其余位表示数值的绝对值。例如,8位二进制数中,+5的原码表示为00000101
,-5的原码表示为10000101
。
反码
反码是对原码的一种改进表示方法。正数的反码与原码相同,负数的反码是对原码逐位取反(符号位除外)。例如,8位二进制数中,+5的反码表示为00000101
,-5的反码表示为11111010
。
补码
补码是计算机中最常用的表示有符号数的方法。正数的补码与原码相同,负数的补码是其反码加1。例如,8位二进制数中,+5的补码表示为00000101
,-5的补码表示为11111011
。
移码
移码是一种将所有数值都转换为非负数的方法,通常用于浮点数的表示。移码通过在原数值的基础上加上一个偏移量来实现。例如,假设使用8位移码,偏移量为128,则+5的移码表示为10000101
,-5的移码表示为01111011
。
这些编码方法在计算机系统中有着广泛的应用,尤其是在算术运算和数据表示中。
+0和-0的原码、反码、补码、移码
原码 | 反码 | 补码 | 移码 | |
---|---|---|---|---|
+0 | 00000000 | 00000000 | 00000000 | 10000000 |
-0 | 10000000 | 11111111 | 00000000 | 00000000 |
浮点数的二进制表示

浮点数的二进制表示主要包含:(16)数符、阶符(15)、阶码(14-11)、尾数(10-1)
浮点数加法运算
- 首先先进性对阶,阶码小的向阶码大的对齐,同时尾数进行右移(变小)。
- 然后再对尾数进行加减法运算。
- 然后进行规格化处理(IEEE754)。