计算机组成原理(第二章)
-
计算机中表示地址时使用©
-
A.
反码
-
B.
原码
-
C.
无符号数
-
D.
补码
计算机中表示地址时使用无符号数。在计算机中,内存地址通常是用无符号整数表示的,因为地址不需要表示正负号,也不需要进行加减运算,只需要比较大小。因此,计算机中表示地址时使用的是无符号数。
-
-
浮点数的表示范围和表示精确度分别取决于(B)
-
A.
尾数的位数和阶码的位数
-
B.
阶码的位数和尾数的位数
-
C.
机器字长和阶码的位数
-
D.
阶码的编码和尾数的编码
-
-
设G(x) = 1011,某(7,4)码为K1K2K3K4K5K6K7,仅K7出错时进行CRC校验得到的余数为001,当仅K5出错时,进行CRC校验得到的余数为(A)
-
A.
100
-
B.
110
-
C.
010
-
D.
011
对于一个CRC码,对应的生成多项式为G(x) = 1011,其阶数为3,因此需要在数据位后面添加3个0来进行CRC校验。其中,数据位为K1K2K3K4K5K6K7,校验位为000。
当仅K7出错时,那么接收到的数据位应该为K1K2K3K4K5K6K7 XOR 1000000。将接收到的数据位和校验位拼接起来,得到101110000。对这个数据位进行CRC校验,计算余数,如果余数为001,说明校验通过,否则说明校验不通过。
当仅K5出错时,那么接收到的数据位应该为K1K2K3K4K5K6K7 XOR 0010000。将接收到的数据位和校验位拼接起来,得到101100000。对这个数据位进行CRC校验,计算余数,所得的余数就是选项A中的100。
-
-
假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数-25在寄存器中的十六进制形式表示为(B)
-
A.
67H
-
B.
E7H
-
C.
99H
-
D.
E6H
十进制数-25的原码为10011001,反码为11100110,补码是反码加1,即为11100111,转化为十六进制即为E7
-
-
如果某系统15*4=112成立,则系统采用的进制是©
-
A.
7
-
B.
8
-
C.
6
-
D.
9
需要注意的是,当选定六进制时,15,4 和112都应该为六进制。
15由六进制转为十进制为11,计算方法:16 + 51 = 11
同理:4转为十进制为4,112转为十进制为44 所以转换后的等式左边为 11*4, 右边为44。相等。
-
-
2^100 mod 7 =(A)
-
A.
2
-
B.
5
-
C.
4
-
D.
3
我们可以使用模幂算法来计算 2^100 mod 7。模幂算法可以在不进行大量计算的情况下计算出一个数的模幂,因此可以用来解决这个问题。
首先,将指数 100 转换为二进制数,即 1100100。然后,按照二进制数从右往左的顺序,依次计算出每一位对应的幂次。
具体地,从右往左扫描二进制数的每一位:
- 若该位为 0,则将底数取模后平方,即 (a^2) mod m,然后继续扫描下一位;
- 若该位为 1,则先将底数取模后平方,即 (a^2) mod m,然后再将底数与原先的结果相乘取模,即 (a^2 * a) mod m。
最后,得到的结果就是 2^100 mod 7 的值。
具体计算过程如下: - 0: 计算 2^1 mod 7 = 2,继续扫描下一位;
- 0: 计算 2^2 mod 7 = 4,继续扫描下一位;
- 1: 先计算 2^4 mod 7 = 2,然后计算 (2^4 * 2) mod 7 = 1,继续扫描下一位;
- 0: 计算 2^8 mod 7 = 4,继续扫描下一位;
- 0: 计算 2^16 mod 7 = 2,继续扫描下一位;
- 1: 先计算 2^32 mod 7 = 4,然后计算 (4^2 * 2) mod 7 = 2,继续扫描下一位;
- 0: 计算 2^64 mod 7 = 4,继续扫描下一位;
- 0: 计算 2^128 mod 7 = 2,完成扫描。
因此,得到 2^100 mod 7 = 2,选项 A 正确。
-
-
字长5位的待编码二进制有效数据为11011,对它进行CRC编码时采用的生成多项式代码为1011,则得到的CRC编码为©
-
A.
11011010
-
B.
11011100
-
C.
11011001
-
D.
11011101
待编码的二进制有效数据为11011,生成多项式为1011。首先,在11011的后面添加3个0,得到11011000,这样可以被1011整除,余数为0。因此,CRC编码的结果为11011+000=11011000。
接下来,我们可以验证一下这个答案是否正确。将11011000和1011进行除法运算,得到商为10101,余数为0010。因为余数不为0,说明存在错误。因此,需要重新计算CRC编码。在11011的后面添加2个0,得到1101100,计算它除以1011的余数为001,将余数添加到11011的后面,得到11011001。因此,正确的答案是C。
-
-
某IEEE754格式32位浮点数,若其对应的十六进制代码为ABE00000,则浮点数的真值为(A)
-
A.
-1.75×2^(-40)
-
B.
0.75×2^( - 40)
-
C.
-1.75×2^(-87)
-
D.
-0.75×2^(-87)
根据IEEE 754标准,32位浮点数的表示方式为:首位为符号位,接下来的8位为阶码,最后的23位为尾数。其中,阶码使用移位偏移的方式来表示实际的指数,尾数是一个二进制小数。
给定的十六进制代码为ABE00000,可以将它转换为二进制形式:10101011111000000000000000000000。根据IEEE 754标准,这个浮点数的符号位为1,表示负数。接下来的8位为阶码,需要进行移位偏移得到实际的指数,方法是用阶码减去127。这里的阶码为10101011,转换成10进制为171,所以指数为171-127=44。最后的23位为尾数,需要将它转换成实际的小数,方法是将尾数二进制的每一位乘以对应的权重,然后将乘积相加。尾数为0.1111 0000 0000 0000 0000 00二进制,转换成十进制为0.9375。
因此,这个浮点数的值为-1 × 0.9375 × 2^(44) = -1.75 × 2^(-40)。因此,答案为A。
-
-
某十六进制浮点数A3D00000中最高8位是阶码(含1位阶符),尾数是最低24位(含1位数符),若阶码和尾数均采用补码,则该浮点数的十进制真值是(D)
-
A.
-0.625×2^(-93)
-
B.
0.625×2^(-35)
-
C.
-0.375×2^(-35)
-
D.
-0.375×2^(-93)
将十六进制浮点数A3D00000转换为二进制形式,得到10100011110100000000000000000000。根据题目描述,最高的8位是阶码,因此符号位为1,阶码为01000111,转换成十进制为71,需要减去127得到实际的指数值为-56。最低的24位是尾数,因为最高位是符号位,所以尾数的符号位为1,需要将其转换为补码形式。因此,尾数的值为1.10100000000000000000000二进制。将这个二进制数转换为十进制,得到1 × 2^0 + 1 × 2^(-1) + 0 × 2^(-2) + 1 × 2^(-3) = 1.625。
因此,这个浮点数的值为-1 × 1.625 × 2^(-56) = -0.375 × 2^(-93)。因此,答案为D。
-
-
存储器中地址号分别为1000#、1001#、1002#、1003的4个连续存储单元,分别保存的字节数据是1A、2B、3C、4D,如果数据字长为32位,存储器采用的是小端对齐模式,则这4个存储单元存储的数据值应被解析为(B)
-
A.
1A2B2C3D
-
B.
4D3C2B1A
-
C.
D4C3B2A1
-
D.
A1B2C3D4
小端对齐模式是指低位字节存储在低地址单元,高位字节存储在高地址单元。因此,在这个例子中,字节数据的存储顺序为1A、2B、3C、4D。按照小端对齐模式,它们应该被解析为32位数据时的顺序为4D3C2B1A。
-
-
字长8位的某二进制补码整数为11011010,则该数的标准移码是©
-
A.
10111010
-
B.
11011010
-
C.
01011010
-
D.
00111010
由于这个二进制数是补码形式,因此最高位为符号位,表示这个数是负数。我们需要将它转换成标准移码,也就是将补码中的符号位保持不变,其他位按位取反,然后加1。具体操作如下:
- 取反:00100101
- 加1:00100110
因此,这个二进制补码整数对应的标准移码为00100110。因为它的符号位是1,所以它表示的是负数。
-
-
对于IEEE754格式的浮点数,下列描述正确的是©
-
A.
阶码用移码表示,尾数用补码表示
-
B.
阶码和尾数都用补码表示
-
C.
阶码用移码表示,尾数用原码表示
-
D.
阶码和尾数都用原码表示
-
-
若浮点数的尾数是用5位补码来表示的,则下列尾数中规格化的尾数是(B)
-
A.
11011和01011
-
B.
10000和01001
-
C.
01100和11110
-
D.
01011和11010
IEEE 754标准规定,浮点数的尾数需要进行规格化,即最高位必须为1。因为这个尾数用5位补码表示,所以最高位是符号位,不能用来表示数值。因此,只有10000和01001是规格化的尾数,因为它们的第二位是1。
-
-
下列对海明校验的描述中,正确的描述是(B)
-
A.
海明校验码的码距与校验位的位数没有关系
-
B.
待编码数据长度为4位,再增加3位校验码就可以检测到仅1位数据出错的情况并纠错
-
C.
分成r组时,可以得到r位指误码,因此可以QU区分2^r种只有1位出错的情况
-
D.
在任何条件下,海明校验都无法检测到多位数据同时出错的情况
海明码的校验位数目取决于待编码数据的位数。根据海明码的公式,校验位的数目应该满足下面的不等式:
2^r >= m + r + 1
其中,m是待编码数据的位数,r是校验位的位数。因此,待编码数据长度为4位,增加3位校验码时,可以检测到仅1位数据出错的情况并纠错。因为此时m=4,r=3,2^3 >= 4 + 3 + 1。
-
-
若浮点数的尾数是用5位补码来表示(其中符号位1位),则下列尾数中规格化的尾数是(D)
-
A.
01100和11110
-
B.
01011和11010
-
C.
11011和01011
-
D.
10000和01001
IEEE 754标准规定,浮点数的尾数需要进行规格化,即最高位必须为1。因为这个尾数用5位补码表示,所以最高位是符号位,不能用来表示数值。因此,只有10000和01001是规格化的尾数,因为它们的第二位是1。
-
-
已知 定点小数[X]补 = 1.X1X2X3, 若要求X≤-0.75,则下列满足要求的是(BCD)
-
A.
X1X2X3 = 001
-
B.
X1X2X3 =101
-
C.
X1X2X3=010
-
D.
X1X2X3 = 000
-
-
在IEEE 754浮点机器数中不出现的是(BC)
-
A.
尾数中最高位的1
-
B.
尾数的符号位
-
C.
基数
-
D.
阶码的符号位
-
在32位操作系统中,下列类型不占用8个字节的是(ACD)
- A.char
- B.long long
- C.unsigned int
- D.short int
-
设x为整数,x的真值为25,以下选项与x相等的有(BCD)
- A.反码二进制串为100110的数
- B.反码二进制串为011001的数
- C.原码二进制串为011001的数
- D.补码二进制串为011001的数
-
关于奇偶校验的下列描述中,错误的是(BC)
-
A.
只需要1位校验位
-
B.
检测得到的无错结论可靠
-
C.
可纠正1位错误
-
D.
检测得到的有错结论可靠
-
-
十进制数5对应的32位IEEE754 格式的机器数为 (40A00000)H (采用十六进制表示,填写答案时不需要写最后的H)
符号位为0,因为5是正数。
将5转换为二进制数为101。
将小数点右移,得到1.01,然后不断乘2并取整,得到0.01、0.1、1.0,因此尾数为00000000000000000000001。
偏移量偏移为127,因此偏移量为127+1=128,用8位二进制数表示为10000000。
将符号位、阶码和尾数拼接起来,得到的结果为01000000101000000000000000000000,转换为十六进制数为40A00000。
因此,十进制数5对应的32位IEEE754格式的机器数为40A00000。
-
字长5位的待编码二进制有效数据为10011,对它进行CRC编码时采用的生成多项式代码为1011,则得到的编码结果为(0111)(填写二进制形式)
待编码二进制有效数据为10011,字长为5位,生成多项式代码为1011。因为生成多项式的位数为4,所以需要将信息位左移4位,得到10011000。然后,将10011000和1011进行除法运算,得到商为0111,余数为0。因此,最终的编码结果为0111。
-
存放一个24*24点阵汉字,至少需要多少字节的存储空间 (72)(只需要填写十进数)
一个2424点阵汉字包含24行、24列的像素,每个像素可以用1个比特表示,即0或1。因此,这个汉字的存储空间需要24241/8=72个字节。其中,1/8表示每个字节可以存储8个比特,即1个像素需要1个比特,因此每个字节可以存储8个像素。因此,一个2424点阵汉字至少需要72个字节的存储空间。
-
设机器字长为16位,定点表示时,数据位15位,符号位1位,则定点原码表示时能表示的最小负数为 (填写十进制数,要带符号,且符号与数字间不能有空格)(-32767) : -(1-2 ^15 )