第六章——计算机的运算方法

news/2024/12/21 22:49:07/

6.3 定点运算

包括:移位,加减乘除…

6.3.1 移位运算

1.移位的意义(移位和加法结合,实现乘除运算)

举例:
15.0
1500.0
1500相当于15相对于小数点左移了两位(小数点是不动的,十进制数左移n位=乘上10的n次方,同理,右移=除以)

所以,二进制表示的机器数在相对于小数点作n位左移或右移时,实质就是乘以/除以2的n次方

2.移位运算
(1)算术移位规则(有符号数的移位)

正数: 原码/反码/补码 添0

对于正数:
左移时最高位丢1,结果出错;
右移时最低位丢1,影响精度。

负数: 原码添0
负数: 补码左移低位添0,右移高位添1
负数: 反码添1

对于负数:
原码,左移时丢1,结果出错;右移时丢1,影响精度。
补码:左移高位丢0,结果出错;右移地位丢1,影响精度。
反码:左移高位丢0,结果出错;右移低位丢0,影响精度。

例题:
补码定点整数1001 0101右移一位后的值为(11001010)

分析:负数补码,右移高位添1
1 1001010 (1)

设机器数字长为8位(含一位符号位),若机器数BAH为原码,算术左移1位和算术右移1位分别为(B)
A.F4H,EDH
B.F4H,9DH
C.B4H,6DH
D.B5H,EDH

分析:首先我们知道进制缩写, 八进制O(Octet), 二进制B (Binary),十六进制H (Hex),十进制D(Decimal)
BAH:原码,1 011 1010B
正数的原码算术左移,即低位添0:1 111010(0)——> 1111 0100B = F4H
正数的原码算术右移,即高位添0:1 (0)011101——> 1001 1101B = 9DH

(2)逻辑移位规则(无符号数的移位)

左移低位添0
右移高位添0

其余练习题和知识点后续更新:

3.设机器数采用补码表示(含义为符号位),若寄存器内容为9BH,则对应的十进制数为(C)
A.-27
B.155
C.-101
D.-97

4.若寄存器的内容为10000000,若它等于-0,则为(原码)

5.若x=103,y=-25,则下列表达式采用8位定点补码运算实现时,会发生溢出的是(B)
A.-x+y
B.x-y
C.-x-y
D.x+y

6.在原码一位乘法中,(D)
A.符号位参与运算
B.符号位参与运算,并根据运算结果改变结果中的符号位
C.符号位不参与运算,并根据运算结果确定结果中的符号
D.符号位不参与运算

7.在原码不恢复余数法(即原码加减交替法)的算法中(D)
A.整个算法过程中,从不恢复余数
B.每步操作后,若不够减,则需恢复余数
C.若为负商,则恢复余数
D.仅当最后一步不够减时,才恢复一次余数

8.在浮点数编码表示中,(C)在机器数中不出现,是隐含的。
A.尾数
B.符号
C.基数
D.阶码

9.计算机在进行浮点数的加减运算之前先进行对阶操作,若x的阶码大于y的阶码,则(A)
A.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移
B.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术左移
C.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术右移
D.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术左移

10.若浮点数的尾数用补码表示,则下列(A)中的尾数是规格化形式
A.1.00010
B.0.01010
C.0.0110
D.1.11000

11.如果采用0舍1入法进行舍入处理,则0.01010110011舍去最后一位后,结果为(A)
A.0.0101011010
B.0.0101011011
C.0.0101011100
D.0.0101011001

12.在原码加减交替除法中,符号位单独处理,参加操作的数是(B)
A.绝对值
B.绝对值的补码
C.补码
D.原码

13.在浮点机中,判断原码规格化形式的原则是(D)
A.尾数的符号位与第一数位不同
B.尾数的符号位与第一数位相同
C.阶符与数符不同
D.尾数的第一数位为1,数符任意

14.在浮点机中,判断补码规格化形式的原则是(B)
A.尾数的符号位与第一数位相同
B.尾数的符号位与第一数位不同
C.尾数的第一数位为1,数符任意
D.阶符与数符不同

15.设寄存器位数为8位,机器数采用补码形式(含1位符号位),对应十进制数-27,寄存器的内容为(B)。
A.E3H
B.E5H
C.27H
D.9BH

16.下列有关浮点数加减运算的叙述中,正确的是(D)

I.对阶操作不会引起价码上溢或下溢

II.右规和尾数舍入都可能引起阶码上溢

III.左规时可能引起阶码下溢

IV.尾数溢出时结果不一定溢出

A.仅II、III
B.仅I、III、IV
C.仅I、II、IV
D.I、II、III、IV

17.浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判断溢出等步骤。设浮点数的阶码和尾数均采用补码表示,位数分别为5和7(均含2位符号位)。若有两个数x=2729/32和Y=255/8,则用浮点加法计算x+y的最终结果为(B)

A.00111 1100010
B.发生溢出
C.00111 0100010
D.01000 0010001

18.若9BH表示移码(含1位符号位),其对应的十进制数是(B)。???

A.27
B.101
C.-101
D.-27

19.已知:X=0.1011,Y=-0.0101,求[X/2]补,[X/4]补, [-X]补, [Y/2]补,[Y/4]补, [-Y]补。

解:[X]补 = 0.1011 [X/2]补 = 0.01011 [X/4]补 = 0.001011 [-X]补 = 1.0101

[Y] 补 = 1.1011 [Y/2]补 = 1.11011 [Y/4]补 = 1.111011 [-Y]补 = 0.0101

20.设机器字长为8位,其中1位为符号位,令A = - 93,B = +47,求[A - B]补。

解:

由A = - 91 = - 1011011,得[A]补 =1,0100101                             由B = + 47 = + 0101111,得[B]补 =0,0101111                             得[-B]补 =1,1010001                             [A]补 =   1,0100101+[-B]补 =   1,1010001   [A]补+[-B]补 =  10,1110110                            [A-B]补 = 0,1110110,还原成真值得A-B = 118,结果出错(溢出)   

21.一浮点数表示格式为:阶码3位,不包含阶符,尾数6位,不包含数符,用补码表示,阶码在前,尾数(包括数符)在后,已知:在这里插入图片描述,求x-y

解:x=(-0.101000)*2-101 y=(0.111000)*2-100

[x]补=11,011;11.011000 [y]补=11,100;00.111000

(1)对阶
在这里插入图片描述
(2)尾数相加:[Sx]补’+[-Sy]补=11.101100+11.001000=10.110100

(3)结果规格化:右规1位,无溢出,价码-1

[x – y]补 = 11, 100; 10. 110100

右规后

[x – y]补 = 11, 101; 11. 011010

∴ x – y = (–0.100110)×2-11 = 在这里插入图片描述

22.X=+1011,Y=-1101,用原码一位乘法计算P=X·Y

部分积 乘数

0000     11011011

10110101     1110    右移0000               01010010     1111    右移1011              11010110     1111    右移1011

100011000    1111     右移

符号位为1,P=X·Y=1,1000 1111


http://www.ppmy.cn/news/690043.html

相关文章

计算机组成原理——计算机的运算方法

试题 1 正确 得分 1.00/1.00 分 未标记标记试题 试题正文 一个16位无符号二进制数的表示范围是() A. 0~65535 B. -32768~32768 C.-32768~32767 D. 0~65536 反馈 您的答案是正确的。 正确答案是: 0~65535 试题 2 正确 得分 1.00/1.00 分 未标记…

bah 带你入门

我们经常会在cmd上写一些命令,而这些命令其实也可以在bash中执行,bash增加了更多的语法,让我们可以写出比较简单的处理流程 bash中的分支结构 条件 if express; then fi express: 1、[] while while xxx; do express done express可以是…

C语言重点

1. 位、字节、字 位,最小的存储单位,可以存储0或者1 字节,常用的计算机存储单位,一个字节等于8位(我是你8,哈哈) 字,设计计算机时给定的自然存储单位,对于8位的微型计算机(如,最初的苹果机),一个字长只有8位。从那以后,个人计算机字长增至16位、32位,直到目前的…

LinuxC——指针

指针在C语言中的应用是非常多的,而且也是很重要的。 一、什么是指针 指针是一个值为内存地址的变量。就像char类型变量的值为字符,int类型变量的值为整数。 在使用指针的时候,一定会用到这两个符号‘*’和 ‘&’,下面就首先…

HackMyvm(一)BAH持续更新

HackMyVM:第一更 BAH 文章目录 环境准备一、信息收集二、利用步骤三、权限提升 环境准备 环境地址:https://hackmyvm.eu/machines/machine.php?vmBah 一、信息收集 首先用Nmap扫描一下网段 nmap -sP 192.168.200.1-255 #扫网段我这里用的是校园网&a…

moya

https://juejin.im/post/5ac2cf34f265da23a1421483 https://juejin.im/post/5a69e9f9f265da3e290c6782 转载于:https://www.cnblogs.com/feng9exe/p/10964762.html

MOEA\D

1,Erpim的博客:多目标优化_学习笔记(三)MOEA/D https://blog.csdn.net/qq_35414569/article/details/79655400 2,GryffindorHermione博客:基于分解的多目标进化算法(MOEA/D) https://blog.csdn.net/sina…

demoa

一、数据类型 奥术大师多驱蚊器翁Asdasd 阿达洒水多 a 10; print(a)百度