原码、补码、反码对比
跳到导航
跳到搜索
原码
优点
- 表示方法简单直观
缺点
- 符号位不能直接参与运算
- 真值0在原码中有两种不同的表示
应用
原码在计算机中目前仅仅用于表示浮点数的尾码(也就是尾数)。
补码
优点
- 补码表示方法使得减法运算可以转换成加法运算。
- 真值 0 在补码中只有一种表示,这使得补码比原码和反码多表示一个最小负数。
- 符号位可以直接参与运算,运算时符号位的进位作为模会被自动舍弃。
缺点
- 补码的表示比原码复杂。
- 原码的数值位与真值的绝对值相同。通过原码可以很容易地得出真值。但是,补码就没有这么简单了。
应用
通常不会涉及定点小数的补码表示。
反码
优点
- 符号位可以参与运算。
缺点
- 最高位(符号位)产生的进位要加到运算结果的低位(循环进位)
- 真值 0 在反码中有两种不同的表示
应用
反码在计算机中目前很少被使用。通常用来作为由原码求补码或者由补码求原码的中间过渡。