第二章:数据的类型及数据集表示

1.已提交首次提交时间:2022-10-09 20:24:04    最后一次提交时间:2022-10-09 20:24:05
–1028采用IEEE 754单精度浮点数格式表示的结果(十六进制形式)是 【 正确答案: D
A C4C04000H
B 44808000H
C 44C04000H
D C4808000H

得分:4.00

解:

ps:1028=1024+4=2^10+2^2

二进制:100 0000 0100=1.00 0000 01 *2^10

将指数转为移码表示10+127=128+9=(1000 1001)【二进制移码表示】

转换为IEEE 754单精度浮点数格式 :

 

1   1000  1001  00 0000 01……

转为十六进制:C4808000H

2.已提交首次提交时间:2022-10-09 20:27:01    最后一次提交时间:2022-10-09 20:27:02
在ISO C90标准下执行以下关系表达式,结果为“真”的是 【 正确答案: A
A (unsigned) –1 > –2
B 2147483647 < (int) 2147483648U
C –1 < 0U
D 2147483647 > –2147483648

得分:4.00

 

A:-1的机器表示为全1,-2的机器数为11┅10,按无符号整数比较,显然全1比任何数大,即结果为“真”。

B:2147483648=1000  0000 0000 0000 0000 0000 0000 0000(共32位),在有符号数中表示 -2^32

ps:int 类型的取值范围 -2^32 —— 2^32 - 1,即-2147483648——2147483647

c:-1的机器数为全1,按无符号整数比较,全1是最大的数,显然比0大,即结果为“假”。

D:2147483647的机器数为011┅1,在C90中为int型;2147483648的机器数为100┅0,在C90中为unsigned型,-2147483648的机器数通过对100┅0各位取反末位加一得到,因此,机器数还是100┅0。011┅1和100┅0按无符号整数比较,显然011┅1比100┅0小,即结果为“假”。

 

ps:当未标明由于符号时默认为无符号比较

3.已提交首次提交时间:2022-10-09 20:45:38    最后一次提交时间:2022-10-09 20:45:39

考虑以下C语言代码:
unsigned short usi=65535;
short si=usi;
执行上述程序段后,si的值是 【 正确答案: A
A –1
B –65535
C 1
D 65535

得分:2.00

  A、65535=2^16-1=1111 1111 1111 1111B,因此,usi和si的机器数都为1111 1111 1111 1111,按带符号整数解释,其值为-1。

4.已提交首次提交时间:2022-10-09 20:49:45    最后一次提交时间:2022-10-09 20:49:46

考虑以下C语言代码:
short si=–32768;
unsigned short usi=si;
执行上述程序段后,usi的值是 【 正确答案: C
A –32768
B 65535
C 32768
D 65536

得分:2.00

 

-32768=-1000 0000 0000 0000B,因此,si和usi的机器数都为1000 0000 0000 0000,按无符号整数解释,其值为32768。

5.已提交首次提交时间:2022-10-09 20:49:58    最后一次提交时间:2022-10-09 20:56:27

考虑以下C语言代码:
short si=–8196;
unsigned short usi=si;
执行上述程序段后,usi的值是( )。 【 正确答案: A
A 57340
B 57339
C 8196
D 34572

得分:4.00

 

8196的原码=2^13+2^2=0010 0000 0000 0100

则-8196:1101 1111 1111 1100=1110 0000 0000 0000-100(二进制)=2^13+2^14+2^15-4=57340

方法二:实际上,8196和-8196在16的机器表示下互补(类比时钟):即-8196=2^16-8196=57340

 

6.已提交首次提交时间:2022-10-09 20:52:43    最后一次提交时间:2022-10-15 11:12:11
–1029的16位补码用十六进制表示为 【 正确答案: B
A 0405H
B FBFBH
C 8405H
D 7BFBH

得分:4.00

7.已提交首次提交时间:2022-10-09 21:02:00    最后一次提交时间:2022-10-09 21:02:01
108对应的十六进制形式是 【 正确答案: C
A B4H
B 63H
C 6CH
D 5CH

得分:4.00

8.已提交首次提交时间:2022-10-09 21:10:26    最后一次提交时间:2022-10-09 21:10:27
假定某数采用IEEE 754单精度浮点数格式表示为4510 0000H,则该数的值是 【 正确答案: B
A 1.125×2^10
B 1.125×2^11
C 0.125×2^11
D 0.125×2^10

得分:4.00

9.已提交首次提交时间:2022-10-14 09:07:09    最后一次提交时间:2022-10-15 11:12:24
以下关于浮点数表示格式的叙述中,错误的是 【 正确答案: C
A 浮点数的表示范围主要由其阶码E的位数确定
B 浮点数的表示精度主要由其尾数M的位数确定
C 若运算的结果位于浮点数表示的上溢区,则说明其值大于最大可表示数
D 若运算的结果位于浮点数表示的下溢区,则说明其值位于0的附近,可近似表示成0

得分:4.00

c:也可能是小于最小可表示的范围(负数时)

10.已提交首次提交时间:2022-10-09 21:18:07    最后一次提交时间:2022-10-15 11:20:00

考虑以下C代码:
1     int x = –2;
2     unsigned u = 2147483648;
3
4     printf ( “x = %u = %d\n”, x, x);
5     printf ( “u = %u = %d\n”, u, u);
已知2147483648=2^31,在32位机器上运行上述代码时,输出结果是什么? 【 正确答案: B
A x=4294967295=-2
u=2147483648=-2147483648
B x=4294967294=-2
u=2147483648=-2147483648
C x=4294967295=-2
u=2147483648=2147483648
D x=4294967294=-2
u=2147483648=2147483648

得分:4.00

11.已提交首次提交时间:2022-10-09 21:21:01    最后一次提交时间:2022-10-15 13:47:14
以下有关定点数和浮点数表示的叙述中,正确的是 【 正确答案: B
A 在计算机内部,定点数的小数点位置总是在左边。
B 在计算机内部,一个浮点数可以用数的符号和两个定点数来表示。
C 计算机中浮点数的尾数用一个定点整数表示,阶用一个定点小数表示。
D 浮点数是用来表示实数的,因此不能表示整数。

得分:4.00

12.已提交首次提交时间:2022-10-09 21:22:00    最后一次提交时间:2022-10-15 13:54:42
假定变量i、f的数据类型分别是int、float。已知i=12345,f=1.2345e3,则在一个32位机器中执行下列表达式时,结果为“假”的是 【 正确答案: C
A i==(int)(double)i
B i==(int)(float)i
C f==(float)(int)f
D f==(float)(double)f

得分:4.00

 

ps:float在计算机中用IEEE 754存储,int 和flaot均为32b,但是int的有效位数为32,而float仅有尾数+1即24位(转化为十进制大概有7位),所以int的有效位数大于float,但是float的表示范围比int大。

 

 

 A、12345<1024x16=2^14,因此,12345对应的二进制数的有效位数一定小于14(二进制),更小于IEEE 754单精度格式的有效位数24,因而转换为float型后,不会发生有效数字丢失,也即能够精确表示为float型,再转换为int型后,数值是一样的。  B、任何int型数的有效位数不会超过31位,因此都能精确转换为具有53位有效位数的double型。  C、f=1234.5,转换为int型数后,小数点后面的数字被丢失,因此与原来的f不相等。  D、double型数的有效位数比float型数大得多,因而f转换为double类型后不会发生有效数字丢失。

13.已提交首次提交时间:2022-10-09 21:23:11    最后一次提交时间:2022-10-09 21:23:12
假定某计算机按字节编址,采用小端方式,有一个float型变量x的地址为0xffffc000,x=12345678H,则在内存单元0xffffc001中存放的内容是 【 正确答案: C
A 00110100B
B 0001001000110100B
C 01010110B
D 0101B

得分:4.00

小端方式:低地址存放数据的低位

大端方式:低地址存放数据的高位

 

A、因为按字节编址,所以某一个单元内只能存放8位数字。  B、因为按字节编址,所以某一个单元内存放一个8位数字。  C、00110100B=34H,小端方式下,78H存在0xffffc000单元中,34H存在0xffffc002单元中,即结果错误。  D、01010110B=56H,小端方式下,78H存在0xffffc000单元中,56H存在0xffffc001单元中,即结果正确。

14.已提交首次提交时间:2022-10-09 21:23:35    最后一次提交时间:2022-10-09 21:23:36
下面是关于计算机中存储器容量单位的叙述,其中错误的是 【 正确答案: C
A 最小的计量单位为位(bit),表示一位“0”或“1”
B 最基本的计量单位是字节(Byte),一个字节等于8bit
C 一台计算机的编址单位、指令字长和数据字长都一样,且是字节的整数倍
D “主存容量为1KB”的含义是指主存中能存放1024个字节的二进制信息

得分:4.00

 

ps:

机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。
指令字长:计算机指令字的位数。
数据字长:计算机数据存储所占用的位数。

注:冯诺依曼机中,指令和数据同等重要,都存放在存储器中,并可按地址寻访。

通常早期计算机:存储字长 = 指令字长 = 数据字长。故访问一次便可取一条指令或一个数据,随着计算机应用范围的不断扩大,三者可能各不相同,但它们必须是字节的整数倍数

15.已提交首次提交时间:2022-10-09 21:24:00    最后一次提交时间:2022-10-09 21:24:01
以下关于数据表示和数据转换的描述中,错误的是 【 正确答案: C
A 文字、音频和视频等感觉媒体信息通过某种数字化方法被输入到计算机中就变成了用0/1表示的数字信息
B 在高级语言程序中出现的数据(变量或字面量)都是一种用0/1表示的数字信息
C 从一条指令给出的信息中可以看出其处理的数据是否是数组元素或结构分量
D 浮点运算指令中的操作数一定是浮点数,定点运算指令中的操作数一定是定点数

得分:4.00

 选择题

1.首次提交时间:2022-10-15 13:51:18    最后一次提交时间:2022-10-15 13:51:19

从键盘上输入61.420001赋值给一个float型变量x,再打印输出x时,其结果为61.420002 【 正确答案: A B C

A.由此说明能精确表示的float型数据的有效位数最多为7位。
B.由此说明32位IEEE 754单浮点数格式无法精确表示61.420001。
C.由此说明32位IEEE 754单浮点数格式能精确表示61.420002。
D.由此说明32位IEEE 754浮点数标准采用向+∞方向舍入。

 

 

float的尾数有23位,加上隐藏位共24位,而2^23~10^7,所以说float的有效位数为7,精度在7~8

双精度有16位有效数字

有效位数:对于一个近似数,从左边第一个不为零的数字起,到精确到的位数(最末尾的零也算),,他不取决于小数点位置

精度:小数位数,小数位数越多,精度越高

 

 填空题

1.已提交首次提交时间:2022-10-09 21:27:12    最后一次提交时间:2022-10-09 21:27:12

在只有4档的算盘中,若用加法实现减法运算的结果,则应该用6823加(      7044      【 正确答案: 7044】  )来实现6823-2956,结果为3867

得分:4.00

解:十进制只有4位数,则一个周期位10000,所以数字t=10000-2956=7044与-2096等价

 
2.已提交首次提交时间:2022-10-09 21:27:40    最后一次提交时间:2022-10-15 13:53:23

已知2147483647为2^31-1, C语言中的关系表达式"2147483647U>-2147483647-1"的结果是     0      【 正确答案: 假 或 0 或 false

得分:4.00

 

2147483647的原码为0111 1111 1111 1111 1111 1111 1111 1111

所以最大的正整数是2147483647

负数在计算机中表示为补码,最高位为符号位:

-1的原码为1000 0000 0000 0000 0000 0000 0000 0001,

反码为1111 1111 1111 1111 1111 1111 1111 1110,

补码为1111 1111 1111 1111 1111 1111 1111 1111

-2147483647:的原码为1111 1111 1111 1111 1111 1111 1111 1111,

补码为1000 0000 0000 0000 0000 0000 0000 0001

所以,-2147483647-1=1000 0000 0000 0000 0000 0000 0000 0001+【-1】的补码

=1000 0000……

 
3.已提交首次提交时间:2022-10-09 21:29:50    最后一次提交时间:2022-10-09 21:29:54
16位无符号整数中的最大数是     65535      【 正确答案: 65535

得分:4.00

解:16位的全一

 
4.已提交首次提交时间:2022-10-09 21:29:18    最后一次提交时间:2022-10-09 21:29:22
8位补码表示11010111对应的真值是     -41      【 正确答案: -41

得分:4.00

原码:1010 1001(最高位的1表示符号)

 
5.已提交首次提交时间:2022-10-09 21:32:35    最后一次提交时间:2022-10-09 21:33:22

负123的16位补码表示为     1111111110000101      【 正确答案: 1111 1111 1000 0101B 或 FF85H 或 1111 1111 1000 0101 或 (1111111110000101)B】;

得分:4.00

123的原码(正数的原码等于补码:0111 1011

则-123的补码表示(最高位符号位变化,最低位的1,左边取反右边不变,负数位数不够时用1补齐

【-123】补=1111111110000101  

 

 
6.已提交首次提交时间:2022-10-09 21:33:28    最后一次提交时间:2022-10-15 13:54:18

在32位机器中,一个int型变量的值为-1,则机器数为     11111111111111111111111111111111      【 正确答案: 1111 1111 1111 1111 1111 1111 1111 1111 或 11111111111111111111111111111111

得分:4.00

 
7.已提交首次提交时间:2022-10-09 21:35:15    最后一次提交时间:2022-10-09 21:35:24

假定补码位数为8,二进制数-1000的补码表示为     11111000      【 正确答案: 1111 1000 或 1111 1000B

得分:4.00

 
8.已提交首次提交时间:2022-10-09 21:36:07    最后一次提交时间:2022-10-09 21:38:23

钟表系统的模是12,若当前时针指向11点,则顺时针拨动5格与逆时针拨动(     7      【 正确答案: 7】)格的结果相同,都是指向4点。

得分:4.00

 
9.已提交首次提交时间:2022-10-09 21:38:29    最后一次提交时间:2022-10-09 21:39:23
0100 1000 0111 0110 1011 0101 1110B可写成0x     4876B5E      【 正确答案: 4876B5E

得分:4.00

 

 判断题

1.已提交首次提交时间:2022-10-09 21:41:26    最后一次提交时间:2022-10-09 21:41:26

若float型变量x=8.0,则x/0.0的值为+∞,若x=0.0,则x/0.0的值为非数(NaN)。

正确答案:正确
 
2. 

早期,不同体系结构计算机所用的浮点数表示格式是不一样的,在不同计算机之间进行程序移植时,需要考虑浮点数格式之间的转换。

正确答案:正确
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

半截詩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值