定点数

定点数的表示

原码的表示范围

四位原码表示的最大整数和最小整数

形式真值(整数)真值(小数)
最大(整/小)数01117(0.111)1-2-3
最小(整/小)数1111-7-(1-2-3

最大小数的真值是如何计算的呢?

最大小数运算辅助值结果
形式0111(0.111)+0001(0.001)1.000
真值1-2-3+2-31

最小小数的真值是如何计算的呢?

最小小数运算辅助值结果
形式1111(1.111)+1001(1.001)1.000
真值-(1-2-3+-2-3-1

四位原码能表示多少个整数
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7共15个
23*2=16个为什么多出来一个,因为带符号位的原码有一个正零一个负零,多出来一个零应该减去。

从四位原码推导到N位原码

整数2N-1-1~ -(2N-1-1)
小数1-2-(N-1) ~ -(1-2-(N-1))

N位原码能表示多少个整数
2N-1

补码的表示范围

先观察下表

-8-7-6-5-4-3-2-101234
原码11111110110111001011101010010001001000110100
反码10001001101010111100110111100001001000110100
加一1111111
补码100010011010101111001101111011110001001000110100

四位补码表示最大整(小)数和最小整( 小) 数

原码补码整数真值小数真值
最大0111011171-2-3
最小11111001-0001(20)=-7-1=-8-81.001-0.001=-(1-2-3)-2-3 =-1

N位补码的表示范围

N位补码范围N位原码范围
整数2N-1-1 ~ -2N-12N-1-1~ -(2N-1-1)
小数1-2-(N-1) ~ -11-2-(N-1) ~ -(1-2-(N-1))

定点数的运算

原码加减

原码不适合做加减运算,步骤:1、判断结果的符合,2、||被减数|-|减数||,3、结果带上符合

补码加减

【A+B】补=【A】补+【B】补
【A-B】补=【A】补+【-B】补
优点:直接运算

溢出的判断

什么是溢出?假设计算机int类型是四位,下表给出溢出的例子

真值符号位
a60110
++
b50101
结果-71111

两个正数相加却得到一个负数显然是不合常理的,也就是溢出了,这个例子也展现了数据在内存中溢出的真实状态。

双符号位法

两个符号位同时运算,双符号位不同则溢出,上溢(超出能表示的最大值),下溢(超出能表示的最小值)

数值最高位的进位和符号位进位不同则溢出

结果的符号位如果与其中一个加数不同时则溢出

定点数的移位

逻辑移位

分为逻辑左移和逻辑右移,规则:移出位移走,符号位补零;

小循环移位

移出移入到补位位,同时移入到标记C中

CC
小循环左移10101
1010
小循环右移01010

大循环移位

大循环左移,大循环又移,规则:移出位移入到C位,C位移入到补位位

算术移位

保留数值的数学意义,对二进制而言左移相当于乘2,右移相当于除2
有可能溢出或丧失精度
对于正数而言,三码相同,无论左移右移都补0;
对负数反码而言,左移右移都补1;
对负数补码而言,左移在右补0,右移在左补1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值