计算机组成原理(第二章)

本文涵盖了计算机中地址的表示,无符号数用于内存地址,浮点数的表示和精度,CRC校验的原理及应用,以及二进制补码、原码、反码的概念。此外,还讨论了IEEE754浮点数格式,包括其阶码和尾数的处理,以及海明校验在检测数据错误中的作用。
摘要由CSDN通过智能技术生成

计算机组成原理(第二章)

在这里插入图片描述

  1. 计算机中表示地址时使用©

    • A.

      反码

    • B.

      原码

    • C.

      无符号数

    • D.

      补码
      计算机中表示地址时使用无符号数。在计算机中,内存地址通常是用无符号整数表示的,因为地址不需要表示正负号,也不需要进行加减运算,只需要比较大小。因此,计算机中表示地址时使用的是无符号数。

  2. 浮点数的表示范围和表示精确度分别取决于(B)

    • A.

      尾数的位数和阶码的位数

    • B.

      阶码的位数和尾数的位数

    • C.

      机器字长和阶码的位数

    • D.

      阶码的编码和尾数的编码

  3. 设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。

  4. ​假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数-25在寄存器中的十六进制形式表示为(B)

    • A.

      67H

    • B.

      E7H

    • C.

      99H

    • D.

      E6H
      十进制数-25的原码为10011001,反码为11100110,补码是反码加1,即为11100111,转化为十六进制即为E7

  5. 如果某系统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。相等。

  6. 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 正确。
  7. ‎字长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。

  8. 某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。

  9. 某十六进制浮点数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。

  10. 存储器中地址号分别为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。

  11. 字长8位的某二进制补码整数为11011010,则该数的标准移码是©

    • A.

      10111010

    • B.

      11011010

    • C.

      01011010

    • D.

      00111010

      由于这个二进制数是补码形式,因此最高位为符号位,表示这个数是负数。我们需要将它转换成标准移码,也就是将补码中的符号位保持不变,其他位按位取反,然后加1。具体操作如下:

      • 取反:00100101
      • 加1:00100110
        因此,这个二进制补码整数对应的标准移码为00100110。因为它的符号位是1,所以它表示的是负数。
  12. ‎ 对于IEEE754格式的浮点数,下列描述正确的是©

    • A.

      阶码用移码表示,尾数用补码表示

    • B.

      阶码和尾数都用补码表示

    • C.

      阶码用移码表示,尾数用原码表示

    • D.

      阶码和尾数都用原码表示

  13. ‍若浮点数的尾数是用5位补码来表示的,则下列尾数中规格化的尾数是(B)

    • A.

      11011和01011

    • B.

      10000和01001

    • C.

      01100和11110

    • D.

      01011和11010

      IEEE 754标准规定,浮点数的尾数需要进行规格化,即最高位必须为1。因为这个尾数用5位补码表示,所以最高位是符号位,不能用来表示数值。因此,只有10000和01001是规格化的尾数,因为它们的第二位是1。

  14. 下列对海明校验的描述中,正确的描述是(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。

  15. ‎若浮点数的尾数是用5位补码来表示(其中符号位1位),则下列尾数中规格化的尾数是(D)

    • A.

      01100和11110

    • B.

      01011和11010

    • C.

      11011和01011

    • D.

      10000和01001

      IEEE 754标准规定,浮点数的尾数需要进行规格化,即最高位必须为1。因为这个尾数用5位补码表示,所以最高位是符号位,不能用来表示数值。因此,只有10000和01001是规格化的尾数,因为它们的第二位是1。

  16. 已知 定点小数[X]补 = 1.X1X2X3, 若要求X≤-0.75,则下列满足要求的是(BCD)

    • A.

      X1X2X3 = 001

    • B.

      X1X2X3 =101

    • C.

      X1X2X3=010

    • D.

      X1X2X3 = 000

  17. 在IEEE 754浮点机器数中不出现的是(BC)

  • A.

    尾数中最高位的1

  • B.

    尾数的符号位

  • C.

    基数

  • D.

    阶码的符号位

  1. 在32位操作系统中,下列类型不占用8个字节的是(ACD)
    - A.

    char
    - B.

    long long
    - C.

    unsigned int
    - D.

    short int

  2. 设x为整数,x的真值为25,以下选项与x相等的有(BCD)
    - A.

    反码二进制串为100110的数
    - B.

    反码二进制串为011001的数
    - C.

    原码二进制串为011001的数
    - D.

    补码二进制串为011001的数

  3. ​关于奇偶校验的下列描述中,错误的是(BC)

    • A.

      只需要1位校验位

    • B.

      检测得到的无错结论可靠

    • C.

      可纠正1位错误

    • D.

      检测得到的有错结论可靠

  4. ‌十进制数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. 字长5位的待编码二进制有效数据为10011,对它进行CRC编码时采用的生成多项式代码为1011,则得到的编码结果为(0111)(填写二进制形式)

    待编码二进制有效数据为10011,字长为5位,生成多项式代码为1011。因为生成多项式的位数为4,所以需要将信息位左移4位,得到10011000。然后,将10011000和1011进行除法运算,得到商为0111,余数为0。因此,最终的编码结果为0111。

  6. 存放一个24*24点阵汉字,至少需要多少字节的存储空间 (72)(只需要填写十进数)

    一个2424点阵汉字包含24行、24列的像素,每个像素可以用1个比特表示,即0或1。因此,这个汉字的存储空间需要24241/8=72个字节。其中,1/8表示每个字节可以存储8个比特,即1个像素需要1个比特,因此每个字节可以存储8个像素。因此,一个2424点阵汉字至少需要72个字节的存储空间。

  7. ‎设机器字长为16位,定点表示时,数据位15位,符号位1位,则定点原码表示时能表示的最小负数为 (填写十进制数,要带符号,且符号与数字间不能有空格)(-32767) : -(1-2 ^15 )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不会喷火的小火龙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值