计算机原理小结,≤计算机组成原理》第二章小结

本文详细介绍了计算机组成原理中的数据编码,包括定点数的数值范围、原码、补码、反码和移码表示法。此外,还讲解了浮点数的编码结构以及短实型和长实型的表示。在算术运算部分,阐述了原码和补码的一位乘法和除法运算规则。逻辑运算部分涵盖算术移位、逻辑移位和循环移位的区别。最后,提到了BCD码的概念,以及如何用BCD码表示十进制数。同时,提出了两个关于十进制数压缩编码和BCD码校验位错误检测的问题。
摘要由CSDN通过智能技术生成

≤计算机组成原理》第二章小结

第二章 数据编码和数据运算

一、数值范围

1、定点数:

n+1位整数可表示的数值范围是0≤x≤2n+1-1

n+1位小数可表示的数值范围是0≤x≤1-2-n

2、原码表示法:

n+1位整数原码可表示的数值范围是-2n+1≤x≤2n-1

n+1位小数原码可表示的数值范围是-1+2-n≤x≤1-2-n

3、补码表示法:

n+1位整数补码可表示的数值范围是-2n≤x≤2n-1

n+1位小数补码可表示的数值范围是-1≤x≤1-2-n

4、反码表示法:

n+1位整数反码可表示的数值范围是-2n+1≤x≤2n-1

n+1位小数反码可表示的数值范围是-1+2-n≤x≤1-2-n

5、移码表示法:

n+1位整数移码可表示的数值范围是-2n≤x≤2n-1

二、浮点数的编码

N=(-1)S*M*RE

浮点数

符号位

阶码

尾数

总位数

短实型(单精度数)

1

8

23

32

长实型(双精度数)

1

11

52

64

临时实数

1

15

64

80

三、算术运算

1、原码一位乘法:

(1) 如果yn=1,部分积加x,右移一位;

(2) 如果yn=0,部分积加0,右移一位;

重复n步,第n+1步为右移一位.

2、补码一位乘法:

(1) 如果yn=yn+1,部分积加0,右移一位;

(2) 如果ynyn+1=01,部分积加[x]补,右移一位;

(3) 如果ynyn+1=10,部分积加[-x]补,右移一位;

重复n+1步,最后一步不移位.

3、原码一位除法(加减交替法/不恢复余数法):

(1) 如果余数为正,商上"1",余数左移一位,下次减除数;

(2) 如果余数为负,商上"0",余数左移一位,下次加除数;

重复n+1步,最后一步不移位.

4、补码一位除法(加减交替法):

(1) 被除数与除数同号,被除数减去除数;

被除数与除数异号,被除数加上除数;

(2) 余数与除数同号,商上"1",余数左移一位,下次减除数;

余数与除数异号,商上"0",余数左移一位,下次加除数;

重复(2),做n+1步.

四、逻辑运算

1、算术移位

当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。算数左移n位相当于乘上2n,执行方法是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补0。算术右移,最高位(符号位)保持不变。

2、逻辑移位

逻辑左移n位的执行方法,是把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃不要,右面低位空出的位置上全部补"0"。

逻辑右移n位的执行方法是把原来数中的每一位都向右移动n个位置,右面移出的低位丢弃不要,左面高位空出的位置上全部补0。

3、循环移位

循环移位是一种逻辑操作,它仅仅移动操作数中二进位信息的位置,不会丢弃任何一位信息。循环左移n位是把原来的数中每一位都向左移动n个位置,左面移出的高位放到右面低位空出的位置上;循环右移n位则把原来数中的每一位都向右移动n个位置,右面移出的低位放到左面高位空出的位置上。

五、BCD码(Binary-Coded Decimal, 二进制编码的十进制数)

为了便于计算机直接使用十进制数,

产生了BCD码(二进制编码的十进制数)。BCD码中用四位二进制数表示一位十进制数,

这四位二进制数通常用8421编码方式,

其中的四位二进制数0000--1001表示十进制数的0--9,

其余的四位二进制数1010--1111( 即十六进制数的A--F)不用。

如:

0的BCD码为0000

9的BCD码为1001

20的BCD码为0010 0000

248的BCD码为0010 0100 1000

六、真值

正数原码的真值等于其数值位,即+101

正数补码的真值等于其数值位,即+111

负数原码的真值等于数值位前加一个负号,即-101

负数补码的真值可通过对它再进行一次求补得到。

如10111,求补结果为01001,再加上负号,得-1001

两个疑问:

1、将下列十进制数用压缩的十数串形式进行编码。

(1)67453

(2)+67453

(3)-67453

//什么是压缩的十数串形式?

2、以BCD码表示十进制数目000-999之间的每一组码,其末端包含一个奇校验位,检测下面每一组码,其中第___________组码有两个错误发生?

A、1001 0101 10000

B、0100 0110 1100

C、0111 1100 00011

D、1000 0110 00101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值