原码、反码、补码、移码
0
2023-10-09 17:25:52
计算机编码
几种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
原码:除符号位外,其他位表示数值的绝对值;
例:[+0]原 = 0 0000000, [-0]原 = 1 0000000
反码:正数的反码与原码相同,负数的反码则是其绝对值按位取反;
例:[+0]反 = 0 0000000, [-0]反 = 1 1111111
补码:正数的补码与原码相同,负数的补码等于其反码的末尾+1;
例:[+0]补 = 0 0000000, [-0]补 = 0 0000000
移码:等于补码的符号(第一位数字)位取反。
例:[+0]移 = 1 0000000, [-0]移 = 1 0000000