CSDN博客

img sxqqk

计算机中的数制与编码

发表于2004/9/26 22:36:00  1801人阅读

带符号数的表示及运算

    原码、反码和补码。

    目前计算机中通常用补码进行带符号数的运算。为了研究补码必须先了解原码和反码。

    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。

阅读全文
0 0

相关文章推荐

img
取 消
img