定点数的表示和运算

真值(有正负号)和机器数(0正1负)

在这里插入图片描述

无符号数与真值and机器数都不是一个概念

在这里插入图片描述在这里插入图片描述

移码不是有符号数 ,它没有符号位,他是用于比较大小

原码

整数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

n位整数,
最大值为,2ⁿ-1
最小时绝对值取最大,最小为-(2ⁿ-1)

原码的0有两种表示 +0:0,0000 -0:1,0000

小数

在这里插入图片描述
在这里插入图片描述

数值位为n,对于小数: 最大值为1-2的(-n)次方 最小时绝对值取最大,最小为-(1-2的(-n)次方)

最大值:0.1111—》0.1111+0.0001=1
最小值:-0.1111


小数原码的0有两种表示,这个和整数一样 假设数值位为4 +0:0.0000 -0:1.0000

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8位原码表示的范围是0——255,一共是256个数
范围是-127到+127【因为有一位是符号位】
不过比若说5位原码0,0000和1,0000都表示0,是同一个数!

补码

在这里插入图片描述
在这里插入图片描述

1.绝对值的和就是我们的模 2 负数+它的模=补数 例如-8的补数:12-8=4,即补数为4 验证:10-8=(10+4)%12=2 +9成为了-3的补数

在这里插入图片描述

负数的补数

在这里插入图片描述

正数的补数

在这里插入图片描述

负数的补数=负数+模
对于负数,如果它的符号位 不用 01表示,
那么模=2n,n表示数值位个数
如果负数的符号位 01表示
那么模=2n+1,n表示数值位个数,1为符号位

在这里插入图片描述
在这里插入图片描述
假设n为4,
最大值:1111,也就是24-1=15
最小值:10000,也就是24+1+(-24)=1,0000
【这个1可以当做符号位,代表负数,
也可以当做数值位,代表16。
总的说就是他可以表示一个最小的负数-16】


补码里面没有 -0
因为 -0:1,0000在我们补码里面不再是 -0,而表示-16

在这里插入图片描述

负小数的补码2的由来:
正小数的补码:0.0000
负小数的补码,符号位向前走一位:10.0000,所以2进制(10)=2

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

原码和补码相互转化:除符号位,按位取反,末尾+1

在这里插入图片描述

[y] ==> [-y]

在这里插入图片描述

在这里插入图片描述

反码

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述
在这里插入图片描述


补码和反码,机器数越大,对应的真值越大

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

移码

移码是为了方便计算机比较两个正负数之间补码的大小关系
比如21的补码:0,10101
     - 21的补码:1,01011
单纯比较机器数,-21的补码>21的补码 这显然是不对的。

仔细观察发现,这两个正负数其实只要符号位互换,计算机就可以比较他们的大小了

在这里插入图片描述
在这里插入图片描述

正数的移码:符号位由0变1就行了
负数的移码:它的补码符号位取反
比如二进制:-10100
补码:1,01100
移码: 2^5^ -10100=0,01100

在这里插入图片描述
在这里插入图片描述

[X]<===>[X]:符号位取反!
在这里插入图片描述

移位运算

在这里插入图片描述


左移三位,丢掉左边的1,对应的真正就不准确了

在这里插入图片描述

左移三位,丢掉左边的1,对应的真正就不准确了

在这里插入图片描述

补码:
左移三位,丢掉左边的0,对应的真正就不准确了 因为补码是在原码的基础上按位取反+1得到的,丢掉1相当于是原码的0,不影响准确性

补码:
右移一位,丢掉右边的0,不影响结果,左边补1【补得是符号位】 右移两位,丢掉一个1,影响精度,左边填1【补得是符号位】

反码:
移掉0会影响结果
移调1,相当于原码的0,不影响结果

在这里插入图片描述
在这里插入图片描述

加减法运算

在这里插入图片描述
在这里插入图片描述
上图证明了:[A+B]==[A]+[B]

先求出A+B的值
再就出【A补+B补】的值
【A+B】的补码正好和【A补+B补】的值相等

这样,当计算机在求A+B时
可以先求【A+B】的补,也就是【A补+B补】的值 然后再通过补码转原码

在这里插入图片描述
在这里插入图片描述

[x]+[y]=0.1001+0.1011=1.0100
把1.0100向右移动一位:0.1010,也就是 10/16,再乘2,正好才是结果的20/16

溢出判断

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sparky*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值