带符号数的表示及运算
原码、反码和补码。
目前计算机中通常用补码进行带符号数的运算。为了研究补码必须先了解原码和反码。
1、原码:设数X的原码记为[X]原,如果机器字长为n,则原码的定义如下:
|||| X 0=< X <=2n-1 - 1
[X]原 = |
|||| 2n-1 + |X| -(2n-1 -1) =< X <= 0
若为正数,则符号位为0,其余各位不变,若为负数,则符号位为1,其余各位不变。
原码表示数的范围为: - (2n-1 - 1) ~ + (2n-1-1)。
"0"有两种表示方法,以八进制为例:+0,00000000;-0,10000000。
2、反码:设数X的反码记为[X]反,如果机器字长为n,则反码的定义如下:
|||| X 0=< X <=2n-1 - 1
[X]反 = |
|||| (2n-1) - |X| -(2n-1 -1) =< X <= 0
若为正数则与原码相同,若为负数,符号位为1,其余各位取反。
反码表示数的范围为: - (2n-1 - 1) ~ + (2n-1-1)。
"0"有两种表示方法,以八进制为例:+0,00000000;-0,11111111。
3、补码:设数X的补码记为[X]补,如果机器字长为n,则补码的定义如下:
|||| X 0=< X <=2n-1 - 1
[X]补 = |
|||| 2n - |X| 2n-1 =< X <= 0
若为正数则与原码相同,若为负数,符号位为1,其余各位取反且最低位加1。
补码表示数的范围为: - 2n-1~ + (2n-1-1)。
"0"只有一种表示方法,以八进制为例:+0,00000000;-0,00000000。
计算机中的数制与编码
最新推荐文章于 2023-03-15 22:42:28 发布