编码:补码 原码 反码 乘法运算 定点数 浮点数

目录

1.定点数开篇

2.移位问题

3.乘法的实现:

4.补码的作用:


1.定点数开篇

无符号数;整个机器字长的全部二进制位均为数值位,没用符号位,相当于数字的绝对值

表示范围2的n次方-1。

有符号数:

原码:用尾数表示真值的绝对值,符号位“0/1”对应“正/负”

若机器字长为n+1位,则尾数占n位。

原码原码通常用来表示定点小数,用来表示浮点数的尾数。

原码就是用最高位来表示符号,符号位用0与1来表示正负,剩下的数表示数值。

缺点:0的表示并不唯一。4位二进制数的原码表示方法中,0即可以用1000表示,也可以用0000表示。

反码:正数不变,负数除了符号位全取反

补码:正数不变。负数,反码+1  计算机用补码来表示带符号整数。

移码:补码的基础上将符号位取反,移码和补码一一对应注意移码只能表示正数。

移码主要是用来表示定点整数,用于表示浮点数的阶(指数)

移码就是将每一个数值加上一个偏置常数( Excess / bias)。很方便用来比较大小。移码和补码的真值0只有一种表示,补码和移码可以多表示一个负数

EG:

2.移位问题

3.乘法的实现:

符号位  :异或运算

其余:按位计算

4.补码的作用:

1、由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码

2、其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法运算。(简化运算的设计)

正因如此:补码负数表示范围可以多表示一个最负的数。使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

如果使用原码进行运算,就会很麻烦,这时候提出了加法替代减法

逆时针 减法 

顺时针 加法

把减法操作变成加法操作

补码的作用:使用补码可以将减法操作转变为等价的加法,符号位参与运算。

节省硬件成本

想知道为什么,研究一下模的运算

假设当前时针指向11点,而准确时间是8点,调整时间可有以下两种拨法:

  • 一种是倒拨3小时,即:11-3=8
  • 另一种是顺拨9小时:11+9=12+8=8

  在以模为12的系统中,加9和减3效果是一样的,因此凡是减3运算,都可以用加9来代替。对“模”12而言,9和3互为补数(二者相加等于模)。所以我们可以得出一个结论,即在有模的计量系统中,减一个数等于加上它的补数,从而实现将减法运算转化为加法运算的目的。

移码:真值+偏置值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tomorrowave

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

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

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

打赏作者

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

抵扣说明:

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

余额充值