定点数/浮点数的表示

定点数:小数点位置固定。

定点整数,通常默认小数在最末位。定点小数则通常默认小数点在符号位后面,如1.0100不表示1.几,而是-0.0100。

浮点数:小数点位置不固定。

可以用原码、反码、补码来表示定点整数和小数。用移码来表示定点整数。

无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。通常只用来探讨整数,而不是小数。

原码:第一位表示符号位,后面7位表示真值的绝对值。原码能表示的范围是关于原点对称的,有+0,-0的区分。

反码:若符号位为0,则反码和原码相同。

           若符号位为1,则数值位全部取反。

能表示的数值范围、特征都和原码一致

反码只是原码转变为补码的一个中间状态,并没有什么实际作用。

补码:正数的补码=原码

           负数的补码=反码末位+1(要考虑进位) 

真值0只有一种表示形式。能表示的数值范围不对称,负数多表示一个。10...0是最大负数。

对于定点小数来说10...0表示-1 表示数值范围同样不对称,比原码能多表示一个-1.

从反码 --》推出原码,也是同样过程,尾数全部取反,末位加1。

补码的意义是:让处理器 可以使用加法器来完成减法运算。

移码在补码的基础上,将符号位取反。

只能用来表示整数!!!  真值0同样只有一种表示形式,整数表示范围与补码相同。

移码可以很方便的比较大小。(从左到右对比,谁先出现1,则谁大。)如果把移码当成无符号数看待,随着真值增大,无符号数是递增的。

从x补到(-x)补的小技巧:符号位、数值位全部取反后,末位+1

加减运算

原码加减运算时,必须要判断符号位,且需要减法器。设计成本高。

mod(n) 其实是把整数分为n类,余数相同的数为同一类,姑且认为他们等价。同一类数字在加减时,效果是等价的。

在mod12的情况下 -3和9互为补数,二者绝对值之和=模。 如果能找到补数,则可以用正数的加法来替代减法。

计算机硬件的截断 就相当于Mod(2的n次方)

故,a的补数=模-a的绝对值

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值