您的位置:首页 > 理论基础

计算机数据表示 源码、反码、补码、移码

2015-10-08 13:33 1296 查看
     计算机是一种电子设备,是一种由多个复杂的电子元器件组合而成,而电子元器件只有带电和不带电两种状态,我们将带电状态表示为数值1,不带电的表示为0,这样一来多个元器件的组合体,就可以表示多种状态,也就是说可以表示更多的数据。这样的数据在计算机中也就是常用的二进制。

     现实中的数据都有正负之分,整数小数之分,为了便于运算,带符号的机器数可以采用原码、反码、补码、移码的不同的编码方式来表示现实中的数据。

原码:将最高位作为符号位,0代表正,1代表负,其余各位代表数值本身的绝对值。即

                        +45的原码为                    0 0101101

                         -45的原码为                    1 0101101

                          +0的原码为                     0 0000000

                           -0的原码为                     1 0000000

反码:一个数如果为正,则它的反码与原码相同,一个数如果为负,则符号位变成1,其余各位是对原码的取反。即

                        +45的反码为                    0 0101101

                         -45的反码为                    1 1010010

                         +0的反码为                     00000000

                         -0的反码为                      11111111

补码:一个数如果为正,则它的原码、反码、补码相同,一个数为负,则符号位为1,其余各位是对原码取反,然后整个数加1.即

                       +45的补码为                    0 0101101

                        -45的补码为               第一步:取反码     1 1010010

                                                          第二步:+1             1 1010011

                        +0的补码为                     00000000

                        -0的补码为                     00000000(应为1 00000000,但1所在位置超出字长,顾被丢弃)

移码:移码(又叫增码)是符号位取反的补码

                            +45的移码为                    0 0101101

                              -45的移码为                    1 0101101

                            +0的移码为                     0 0000000

                             -0的移码为                     1 0000000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: