0133 数据的表示和运算2

目录

2.数据的表示和运算

2.2运算方法和运算电路

2.2部分习题


2.数据的表示和运算

2.2运算方法和运算电路

 


2.2部分习题

1.ALU作为运算器的核心部件,其属于()

A.时序逻辑电路        B.组合逻辑电路        C.控制器        D.寄存器

2.组成一个运算器需要多个部件,但下面()不是组成运算器的部件

A.状态寄存器        B.数据总线        C.ALU        D.地址寄存器

3.若X的补码=(X0X1X2~Xn),其中X0为符号位,X1为最高数位,若(),则当补码左移时,将会发生溢出

A.X0=X1        B.X0≠X1        C.X1=0        D.X1=1

4.实现N位(不含符号位)补码一位乘时,乘积为()位

A.N        B.N+1        C.2N        D.2N+1

5.一个C语言程序在一台32位机器上运行,定义了三个变量,其中x和z为int型,y为short型,当x=127时、y=-9时,执行赋值语句z=x+y后,x、y、z的值分别是()

A.x=0000007FH,y=FFF9H,z=00000076H

B.x=0000007FH,y=FFF9H,z=FFFF0076H

C.x=0000007FH,y=FFF7H,z=FFFF0076H

D.x=0000007FH,y=FFF7H,z=00000076H

6.假定有4个整数用8位补码分别表示:r1=FEH、r2=F2H、r3=90H、r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是()

A.r1*r2        B.r2*r3        C.r1*r4        D.r2*r4

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

A.x+y        B.-x+y        C.x-y        D.-x-y

8.有如下程序段,执行后usi的值为()

short si = -32767;
unsigned short usi =si;

A.-32767        B.32767        C.32768        D.32769

9.有如下程序段,执行后si的值为()

unsigned short usi =65535;
short si = usi;

A.-1        B.-32767        C.-32768        D.-65535

10.按字节编址,采用小端方式的32位计算机中,按边界对齐方式为以下C语义结构型变量a分配存储空间,若a的首地址为2020 FE00H,a的成员变量x2的机器数为1234 0000H,则其中34H所在存储单元的地址是()

struct record(
    short x1;
    int    x2;
)a;

A.2020 FE03H        B.2020 FE04H        C.2020 FE05H        D.2020 FE06H


1.B

ALU是由组合逻辑电路构成的,最基本的部件是并行加法器

2.D

ALU是运算器的核心;数据总线供ALU与外界交互数据使用;溢出标志即为一个状态寄存器;地址寄存器不属于运算器,而属于存储器

3.B

溢出判断有两种:一是加一个符号位变为双符号位,然后左移,若两符号位不同则溢出,因此X0≠X1时溢出;二是数值位最高位进位和符号位进位不同则溢出

4.D

补码一位乘法运算过程中一共向右移位N次,加上原先的N位,一共2N位数值位,乘积还需加上符号位,共2N+1位

5.D

int为32位,short为16位,数据用补码表示,x、y的机器数写为0000 007F、FFF7H,执行z=x+y时,需将y的类型强转为int型,通过符号位扩展实现,由于y符号位为1,因此在y前添加16个1,其十六进制为FFFF FFF7H,然后执行加法,即 0000 007FH + FFFF FFF7H =0000 0076H,其中最高位的进位1丢弃

6.B

8位补码所能表示的整数范围-128~+127,将4个数全部转换为十进制数,r1=-2,r2=-14,r3=-112,r4=-8,得r2*r3=1568,远超表示范围

7.C

8位定点补码表示范围-128~127,x-y=103+25=128,超出范围

8.D

si对应补码二进制表示为1000 0000 0000 0001B,最前面“1”为符号位,由signed型转化为等长的unsigned型数据,符号位成为数据一部分,正数原码补码表示相同,为32769

9.A

无符号usi转为二进制代码1111 1111 1111 1111,转为有符号short为1111 1111 1111 1111,因此si值为-1

10.D            

2020 FE00H   2020 FE01H   2020 FE02H    2020 FE03H
x1x1
2020 FE04H 2020 FE05H 2020 FE06H 2020 FE07H 
x2(00H)     x2(00H)     x2(34H0)      x2(12H)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nzmzmc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值