首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

原码、反码跟补码的理解

2013-10-02 
原码、反码和补码的理解概述对于原码、反码和补码有了一些理解,分享给大家真正、负号加某进制数绝对的形式成

原码、反码和补码的理解
概述

       对于原码、反码和补码有了一些理解,分享给大家

真值

        正、负号加某进制数绝对值的形式成为真值

        例:X = +1011          Y = -1011


机器数

        符号数码化的数称为机器数

        机器数有四种表示方法:原码、补码、反码和移码。下面的描述添加为机器字长为8位二进制

 

原码

        最高位表示真值符号:0正,1负,且符号位不参与运算,计算机要实现原码加(擅长)和减的运算器

        注意:1000 00000000 0000都表示0,所以,取值范围为:[-127,127]

 

反码        

       最高位表示真值符号:0正,1负,且符号位不参与运算,计算机只需实现反码的加运算器,但需设计反码符号位和其它位分开的逻辑

        注意:1000 00000000 0000都表示0,所以,取值范围为:[-127,127]

 

补码

        最高位表示真值符号:0正,1负,符号位参与运算(“模”的概念)

         +0和-0的表示: 0000 0000;   -128的表示:10000000

 

补码的表示范围[-128,127]的解释

         补码使计算机对所有数据的表示唯一化,+0和-0表示都用的是高位为0的128中排序中的同一种排序(00000000),所以,剩下的127中排序最大可以表示正整数为127,又因最高位为1的排序有128种,所以,可表示的最小负数为-128

 

原码、反码和补码之间的转换

        正数:三者相同

        负数:原码对应的反码为,原码各位取反(除符号位);

                     反码对应的补码为,反码+1;

                     补码对应的反码为,补码各位取反(除符号位)+1;

                     

        注意:由于原码和反码根本就不存在-128的表示,所以,当说到-128时,就不能有这种转换,至于计算机是如何将-128真值转换为补码,或者说为,计算机是如何将真值转换为补码的?我们无序了解,这个就是为什么上面没有写反码和补码的得到方式(我们通常错误的理解得到方式是其三者的转换关系),可能你会说,-128补码我只能死记硬背了吗?其实不然,只要我们求出补码表示-1的8位二进制的排列方式,我们就可以推出-128的补码,不明白知道-1的补码为什么就可以推出-128的补码的,可以看看上面“补码的表示范围[-128,127]的解释”的描述


总结

       对于原码、反码和补码的产生的原因,以及原码、反码和补码各自的内容,以及之间的关系上面都以讲出,认真看的话,可以帮助你理解一些内容。

    

 


热点排行