计算机基础问题

详细介绍下二进制的定点数的乘除法运算~最好有例子~... 详细介绍下二进制的定点数的乘除法运算~最好有例子~ 展开
 我来答
匿名用户
2013-08-22
展开全部
第三节 定点数乘除法运算
第四节 浮点数运算和运算器
一,定点数的编码
定点整数
数值表示:
x = x0x1x2…xn xi={0,1}, 0≤i≤n
x02n + x12n-1 + … + xn-121 + xn
数值范围
0≤x≤2n+1-1
定点小数
数值表示
x = x0 . x1x2…xn xi={0,1}, 0≤i≤n
x12-1 + … + xn-12-n+1 + xn2-n
数值范围
0≤x≤1-2-n
1. 原码表示法
简便编码方法:加符号位
带符号数的原码表示
原码在数轴上的表示
2. 补码表示法
补码编码的简便方法
方法1:正值直接取其原来的二进制码,对于负数是在对其按位取反之后再在最低位加1.
例:[10101010]补= 01010101+1 = 01010110
方法2:从最低位开始,对遇到的0和第一个1取其原码,从第一个1以后开始直到最高位均取其按位反码.
带符号数的原码和补码表示
补码在数轴上的表示
模4补码
例: 00.1010110
11.0101001
3. 反码表示法
带符号数的原码,补码和反码表示
反码在数轴上的表示
4. 移码表示法
特点:保持了数据原有的大小顺序,便于进行比较操作.
带符号数的四种编码表示
移码在数轴上的表示
注意:定点小数没有移码定义
移码与补码的关系
编码与数值混淆
习题:2
二,浮点数的编码
E的编码:移码或补码
S与M的编码:原码或补码
R进制的含义:多个二进制位构成一组,代表一个R进制位
浮点数的编码
规格化:
为了在尾数中表示最多的有效数据位
为了数据表示的唯一性.
机器零:
全部为0,特殊的数据编码
浮点数的表示范围
浮点数的表示范围
浮点数标准(IEEE754)
三种格式:短实数,长实数,临时实数
无定义数据(NaN):
发信号的NaN,不发信号的NaN
无穷大:+INF, -INF
规格化数:
(-1)s×1.f×2e-127
非规格化数:
(-1)s×0.f×2e-126
浮点数标准(IEEE754)
IEEE754浮点数的范围
三,检错码
数据校验码:分组码,卷积码
奇偶校验码
码距:两个合法代码对应位上编码不同的位数
例:偶校验
0000 00000
0001 00011
0010 00101
奇偶校验码的原理
在编码中引入一定的冗余,增加代码的最小码距,使得编码中出现一个错误时就成为非法代码.
四,纠错码
线性码:任意两个合法码字求和可得到另一个合法码字.
海明码:(n,k)
码长n=2m - 1
信息位数k=2m - m - 1
校验位数m= n - k
最小码距d = 3
(7,4)海明码的例子
c1 = x1 + x2 + x3
c2 = x2 + x3 + x4
c3 = x1 + x2 + x4
将这些信息位和校验位构成码字w,即
w = {x1,x2,x3,x4,c1,c2,c3}={w1,w2,w3,w4,w5,w6,w7}.
校验方程:
w1 + w2 + w3 + w5 = 0
w2 + w3 + w4 +w6 = 0
w1 + w2 + w4 + w7 = 0
(7,4)海明码的例子(续)
四,纠错码(续)
循环码
线性码中若一个n位编码V = {v0,v1,v2,…,vn-1}是码C的一个码字,那么V向右循环移动一位后的n位编码 V1 = {vn-1,v0,v1,…,vn-2}也是码C的一个码字.
码字多项式表示:
V(x) = vn-1xn-1 + … + v1x + v0
循环码的特性:生成多项式可整除循环码多项式.
编码方法一——求余法
编码方法二——生成多项式法
例 对四位信息码1010进行CRC编码,生成多项式是G(x) = x3 + x + 1.
解:(1) 将4位信息码表示为多项式B(x):
B(x) = x3 + x
(2) 将信息码多项式与生成多项式相乘,得码字多项式:
V(x) = B(x)G(x) = (x3+x)(x3+x+1) = x6 + x3+x2+x
(3) 将码字多项式转换成代码表示,得CRC编码结果:
1001110
编码方法三——生成矩阵法
第二节 定点数加减法运算
一,补码加法
根据补码加法公式,补码可以直接相加.
二,补码减法
根据补码减法公式,补码可以直接相减.
三,溢出及其检测
方法一——符号位判断
方法二——双符号位判断
方法三——判断符号位与最高数值位
四,基本算逻部件
四,基本算逻部件(续)
四,基本算逻部件(续)
第三节 定点数乘除法运算
一,原码一位乘法
二进制乘法过程:
0 0 1 0
× 0 0 1 1
0 0 1 0
0 0 1 0
0 0 0 0
0 0 0 0
0 0 0 0 1 1 0
一,原码一位乘法(续)
实现方法:阵列乘法器,循环乘法器
0 0 0 0 0 0 0 0
+ 0 0 1 0
0 0 0 0 0 0 1 0
+ 0 0 1 0
0 0 0 0 0 1 1 0
+ 0 0 0 0
0 0 0 0 0 1 1 0
+0 0 0 0
0 0 0 0 0 1 1 0
乘法器电路之一
乘法器电路之二
乘法器电路之三
乘法流程
乘法计算过程
二,补码一位乘法
Booth乘法流程
表2-11 用Booth补码一位乘法计算 2(-3)的过程
三,定点数除法运算
硬件计算过程:
除法器电路之一
除法器电路之二
除法器电路之三
除法流程
除法计算过程
习题:10,13
第四节 浮点数运算和运算器
一,浮点数加减法
五个基本步骤
对阶
尾数加减
规格化(左规,右规)
舍入(截去,0舍1入,冯 诺依曼舍入)
检查溢出
例2-9 两浮点数x = 201×0.1101,y = 211×(-0.1010).假设尾数在计算机中以补码表示,可存储4位尾数,2位保护位,阶码以原码表示,求x+y.
解:将x,y转换成浮点数据格式
[x]浮 = 00 01, 00.1101
[y]浮 = 00 11, 11.0110
步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得
[x]浮 = 00 11, 00.001101
步骤2:对尾数求和,得:
[x+y]浮 = 00 11, 11.100101
步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得
[x+y]浮 = 00 10, 11.001010
步骤4:截去.
[x+y]浮 = 00 10, 11.0010
步骤5: 数据无溢出,因此结果为
x+y = 210×(-0.1110)
浮点运算电路
二,浮点数乘除法
五个基本步骤
阶码加减
尾数乘除
规格化
舍入
检查溢出
习题
用浮点数计算的五个步骤对下列数据进行二进制运算,假定可存储1位符号位,5位阶码,10位尾数,2位保护位,基数为2.
(1) 56 + 55
(2) 56 × 55
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式