402v /posts/you-fu-hao-ding-dian-shu-de-biao-shi-fang-fa

有符号定点数的表示方法

 有符号定点数用首位0表示正,1表示负,正数与负数的补码求法不同。

<!--more-->
  • 正数的原码,反码,补码相同(这条要首先牢记,之后才能记住负数反码,补码的求法);
  • 负数的反码是除原码符号为外按位求反,负数的补码是对原码按位求反之后加1。 反码的作用不大,主要要记住反码的作用。

补码的设计目的是:

  1. 使符号位能与有效值部分一起参加运算,从而简化运算规则;
  2. 使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计 。 移码主要应用于浮点数的运算中,有关移码的介绍在网上查了一下居然没有找到,都是些数据结构基础中就介绍的,以后有空要写个总结记录一下。 作为一个小白,我觉得更重要的不是记住上面的运算方法,这些都异常简单,重要的是记住某些特殊值或者规律,这些能帮我们计算的更快,反应的更迅速,感兴趣的朋友可以在下面写出你掌握的规律。

比如说: 数值0原码两个,反码两个,补码只有一个; 由上述特点直接衍生出的是补码可以多表示一个数字,若字长为8位,补码中就多了一个-128,补码可以表示256个数;


我的理解绝大部分的也运算都应该采用补码形式,具体的原因就很多了; 进行补码运算时,应注意所得结果不应超过补码所能表示数的范围; 在以二进制补码表示负数的机器上,~(按位运算符)10的结果为十进制数-11; 等等。

评论 · 0

还没有评论。