计算机组成原理关于一值四码!

第一篇博客,作为开启博客园生活的开篇之作,我觉得还是把自己最近几天所学习的内容贴出来吧!也是搞了不少时间!作为小白,还请业内大佬多多指教!

众所周知,一个真值有原码、反码、补码以及移码四个码,这被我们称作是一值四码!其中原码最容易理解,就是值的本身嘛!今天重点跟大家分享下反码、补码和移码的计算方式!

原码是什么?

一个真值有多种表示方法,在机器里,我们只能用二进制来表示,因为机器内部并不跟人的思想一致,它只能判断0或者是1!所以真值的原码就是真值的二进制表示!不过需要注意的是,第一个字节用来表示符号位!正值用0表示,负值用1表示!即X=XnXn-1...X1X0.数值位n位,符号位一位,即Xn!

                                     -->  X       ,  0<=X<=2^n-1

其中公式为  【X】原=

          -->  2^n-X ,  -(2^n-1)<=X<=0  

此外需要注意的是0有两个原码,即+0和-0两个!

已知一个真值得原码,即二进制表示的码如何求反码呢?

我们不妨举一个例子,已知一个原码00001001,其中第一位表示符号位其实它的反码一目了然,正如我们从字面意思理解的那样,它的反码就是01110110.通过这个例子我们可以发现,只用把原码的符号位不变,其余的值,0变为1,1变为0即可!

                                       --> X                  ,0<=X<=2^n-1

也可以用公式【X】反=

                                       --> 2^(n+1)+X-1, -(2^n-1)<=X<=0

 

其中补码理解起来稍微困难一点,补码的存在主要是因为计算机习惯加法运算,减法运算极为麻烦,所以前人就想出了补码来解决这个问题!

当遇见两个数相减的时候,可以看做是一个正数和一个负数相加,而负数则用补码来代替运算!

其中补码就等于反码+1!

                            --> X                  ,0<=X<=2^n-1

公式为【X】补=

          --> 2^(n+1)+X   , -2^n<=X<=0

其中可以注意到补码的范围比原码和反码多1,其中最直接的原因就是因为原码和反码中的0有+0和-0之分,而补码的0只有这一个值,所以省出来的一个字节就用来给负值的补码了!

最后说一下移码,个人以为移码只需要记着计算方式即可,移码可以通过补码计算,移码与补码的关系就是补码的符号位取反,数值位不变,这就是移码!

文章也许有很多不足,希望各位业内大佬多多指点!

 

posted @ 2019-03-19 21:40  大泽一直在努力呀  阅读(320)  评论(0编辑  收藏  举报