第2章计算机中的信息表示习题参考答案.pdf_第1页
第2章计算机中的信息表示习题参考答案.pdf_第2页
第2章计算机中的信息表示习题参考答案.pdf_第3页
第2章计算机中的信息表示习题参考答案.pdf_第4页
第2章计算机中的信息表示习题参考答案.pdf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 2 章计算机中的信息表示习题参考答案 1 设机器数长为 8 位 含 1 位符号位在内 写出对应下列各真值的原码 补码和反码 64 13 128 29 100 87 答 编码 数字 原码 补码 反码 编码 数字 原码 补码 反码 64 13 1 0011010 1 1100110 1 1100101 1 1100101 128 29 0 0011101 0 0011101 0 0011101 0 0011101 100 0 1100100 0 1100100 0 1100100 0 1100100 87 1 1010111 1 0101001 1 0101000 1 0101000 2 写出下列各数的原码 反码 补码表示 用 8 位二进制数 其中 MSB 是最高位 又 是符号位 LSB 是最高位 如果是小数 小数点在 MSB 之后 如果是整数 小数点在 LSB 之后 1 35 64 2 23 128 3 127 4 用小数表示 1 5 用整数表示 1 写出下列各数的原码 反码 补码表示 用 8 位二进制数 其中 MSB 是最高位 又 是符号位 LSB 是最高位 如果是小数 小数点在 MSB 之后 如果是整数 小数点在 LSB 之后 1 35 64 2 23 128 3 127 4 用小数表示 1 5 用整数表示 1 解 1 35 64 0 100011 原码 1 1000110 反码 1 0111001 补码 1 0111010 2 23 128 0 0010111 原码 0 0010111 反码 0 0010111 补码 0 0010111 3 127 1111111 原码 11111111 反码 10000000 补码 10000001 4 用小数表示 1 补码 1 0000000 5 用整数表示 1 原码 10000001 反码 11111110 补码 111111111 22 3 己知 X 求 X 和 X 补原 答 X 补 X 原 X 1 1100 1 0100 16 4 1 1001 1 0111 16 7 0 1110 0 1110 16 14 1 0000 1 0000 0 1 0101 1 1011 11 1 1100 1 0100 4 0 0111 0 0111 7 1 0000 1 0000 16 23 4 当十六进制数 9B 和 FF 分别表示为原码 补码 反码 移码和无符号数时 所对应的十进制数 各为多少 设机器数采用一位符号位 答 编码 数字 原码 补码 反码 移码 无符号数 9B 9B 1 0011011 1 0011011 1 0011011 1 0011011 1 0011011 对应十进数 对应十进数 27 1 1100101 101 1 1100100 100 0 0011011 27 155 FF FF 1 1111111 1 1111111 1 1111111 1 1111111 1 1111111 对应十进数 对应十进数 127 1 0000001 1 1 0000000 0 0 1111111 127255 5 有一个字长为 32 位的浮点数 符号位 位 阶码 位 用移码表示 尾数 23 位 用 补码表示 基数为 2 请写出 1 最大数的二进制表示 2 最小数的二进制表示 3 规格化数所能表示数的范围 有一个字长为 32 位的浮点数 符号位 位 阶码 位 用移码表示 尾数 23 位 用 补码表示 基数为 2 请写出 1 最大数的二进制表示 2 最小数的二进制表示 3 规格化数所能表示数的范围 解 用 IEEE754 格式 E 的取值范围 1 254 留出全 0 和全 1 分别表示 0 和无穷大 31 30 23 22 20 0 S E M 1 最大数的二进制表示 0 11111110 11111111111111111111111 即 2 127 2 2 23 2 最小数的二进制表示 1 11111110 11111111111111111111111 即 2 127 2 2 23 3 规格化数所能表示数的范围 最小的正数 0 00000001 00000000000000000000001 即 2 126 1 2 23 绝对最小的负数 1 00000001 00000000000000000000001 即 2 126 1 2 23 所以范围是 2 127 2 2 23 至 2 126 1 2 23 2 126 1 2 23 至 2127 2 2 23 6 将下列十进制数表示成 IEEE754 标准的 32 位浮点规格化数 1 27 64 2 27 64 将下列十进制数表示成 IEEE754 标准的 32 位浮点规格化数 1 27 64 2 27 64 解 27 64 0 011011 1 1011 227 64 0 011011 1 1011 2 2 2 1 0 01111101 10110000000000000000000 2 1 01111101 10110000000000000000000 24 7 设机器数字长为 8 位 含 1 位符号位 用补码运算规则计算下列各题 1B A BA 求 32 13 64 9 2 B A BA 求 128 17 32 19 3 求BA 32 9 B 16 3 A 4B ABA 求 53 87 5B ABA 求 24 115 答 答 1 1A A B A B 求 32 13 64 9 0100010 1 1011110 1 1001100 1 0010010 0 0110100 1 0010010 0 BA BA BA BA 补 补补 原原 2 2B A BA 求 128 17 32 19 11010 110BA 10111010 BA 0010001 0B 1011111 1B00 10011 0A 1010000 1B00 10011 0A 补 补 补补 原原 3 25 0011000 0BA 0011000 0BA 001000 01B1 1101000 A 10010000 B1 0011000 A BA求 32 9 B 16 3 A 补 补补 原原 4 溢出 求 补 补 补补 原原 111010010 10010111 01101010 01010011 01101010 10101111 53 87 BA B B A B A B ABA 5 5 00010111 11011010 11010001 11100110 00110001 11100110 24 115 BA BA B A B A B ABA 补 补补 原原 求 8 已知 x 和 y 用变形补码计算 x y 同时指出运算结果是否溢出 1 x 0 11011 y 0 11111 2 x 0 10111 y 0 11011 3 x 0 11011 y 0 10011 解 1 x 0 11011 y 0 11111 x 补 0 0 1 1 0 1 1 y 补 0 0 1 1 1 1 1 0 1 1 1 0 1 0 溢出 2 x 0 10111 y 0 11011 x 补 0 0 1 0 1 1 1 y 补 1 1 0 0 1 0 1 1 1 1 1 1 0 0 26 x y 0 00100 无溢出 3 x 0 11011 y 0 10011 x 补 0 0 1 1 0 1 1 y 补 0 0 1 0 0 1 1 0 1 0 1 1 1 0 溢出 9 已知两个十进制数 X 41 Y 101 试用 8 位二进制变形补码形式运算 X Y 并讨论结果 的正确性 解 X 41 101001 2 X 补 11 1010111 Y 101 1100101 2 Y 补 00 1100101 采用变形补码运算 X Y 补 X 补 Y 补 11 1010111 00 1100101 00 0111100 双符号位为 00 无溢出 结果正确 即 X Y 补 00111100 10 已知两个十进制数 X 41 Y 101 试用 8 位二进制变形补码形式运算 X Y 并讨论结果的正确 性 解 X 41 101001 2 X 补 11 1010111 Y 101 1100101 2 Y 补 11 0011011 采用变形补码 X Y 补 X 补 Y 补 11 1010111 11 0011011 10 01110010 双符号位为 10 有负溢出 结果不正确 11 已知两个二进制数 X 0 11001 Y 0 00111 试用变形补码形式运算 X Y 并讨论结果的正确性 解 X 0 11001 X 补 00 11001 Y 0 00111 Y 补 00 00111 采用变形补码运算 X Y 补 X 补 Y 补 00 11001 00 00111 01 00000 双符号位为 01 有正溢出 结果不正确 12 已知两个二进制数 X 0 11001 Y 0 10111 试用变形补码形式运算 X Y 并讨论结果 的正确性 解 X 0 11001 X 补 00 11001 27 Y 0 10111 Y 补 11 01001 用变形补码运算 X Y 补 X 补 Y 补 00 11001 11 01001 00 00010 双符号位为 00 无溢出 结果正确 即 X Y 补 0 00010 13 已知两个二进制数 X 110011 Y 101101 试用变形补码形式运算 X Y 并讨论结果的正确性 解 X 110011 X 补 00 110011 Y 101101 Y 补 00 101101 采用变形补码运算 X Y 补 X 补 Y 补 00 110011 00 101101 01 100000 双符号位为 01 有正溢出 结果不正确 14 已知两个二进制数 X 110011 Y 101101 试用变形补码形式运算 X Y 并讨论结果的正确性 解 X 110011 X 补 00 110011 Y 101101 Y 补 11 010011 采用变形补码运算 X Y 补 X 补 Y 补 00 110011 11 010011 00 000110 双符号位为 00 无溢出 结果正确 X Y 补 0 000110 15 已知两个二进制数 X 0 11001 Y 0 00111 试用变形补码形式运算 X Y 并讨论结果的正确 性 解 X 0 11001 X 补 00 11001 Y 0 00111 Y 补 11 11001 采用变形补码运算 X Y 补 X 补 Y 补 00 11001 11 11001 00 10010 双符号位为 00 无溢出 结果正确 X Y 补 0 10010 16 已知 x 和 y 用变形补码计算 x y 同时指出结果是否溢出 1 x 0 11011 y 0 00011 2 x 0 11011 y 0 10101 3 x 0 10110 y 0 00001 解 1 x 0 11011 y 0 00011 28 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 x y 0 11110 无溢出 2 x 0 11011 y 0 10101 x y 0 00110 无溢出 3 x 0 10110 y 0 00001 x 补 0 0 1 1 0 1 1 y 补 1 1 0 1 0 1 1 0 0 0 0 1 1 0 x 补 1 1 0 1 0 1 0 y 补 1 1 1 1 1 1 1 1 1 0 1 0 0 1 x y 0 10111 无溢出 17 已知 x 和 y 用变形补码计算 x y 同时指出运算结果是否溢出 1 x 0 11011 y 0 11111 2 x 0 10111 y 0 11011 3 x 0 11011 y 0 10011 解 1 x 0 11011 y 0 11111 x 补 0 0 1 1 0 1 1 y 补 0 0 1 1 1 1 1 0 1 1 1 0 1 0 溢出 2 x 0 10111 y 0 11011 x 补 0 0 1 0 1 1 1 y 补 1 1 0 0 1 0 1 1 1 1 1 1 0 0 x y 0 00100 无溢出 3 x 0 11011 y 0 10011 x 补 0 0 1 1 0 1 1 y 补 0 0 1 0 0 1 1 0 1 0 1 1 1 0 溢出 18 已知两个无符号二进制数 X 1001 Y 1101 用原码一位乘法完成 X Y 解 X 1001 Y 1101 29 B 1001 被乘数 A 0000 C 1101 乘数 0000 1101 C0 1 累加 1 B 1001 1001 移位 1 0100 1110 C0 0 累加 2 0 0000 0100 移位 2 0010 0111 C0 1 累加 3 B 1001 1011 移位 3 0101 1011 C0 1 累加 4 B 1001 1110 移位 4 0111 0101 结果 19 已知两个无符号二进制数 X 1101 Y 1010 用原码一位乘法完成 X Y 解 X 1101 Y 1010 B 1101 被乘数 A 0000 C 1010 乘数 0000 1010 C0 0 累加 1 0 0000 0000 移位 1 0000 0101 C0 1 累加 2 B 1101 1101 移位 2 0110 1010 C0 0 累加 3 0 0000 0110 移位 3 0011 0101 C0 1 累加 4 B 1101 10000 移位 4 1000 0010 结果 20 用原码阵列乘法器 补码阵列乘法器分别计算 x y 1 x 0 11011 y 0 11111 2 x 0 11111 y 0 11011 解 1 原码阵列 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 x 0 11011 y 0 11111 符号位 x0 y0 0 1 1 x 原 11011 y 原 11111 x y 原 1 11 0100 0101 30 直接补码阵列 x 补 0 11011 y 补 1 00001 0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 x y 补 1 00101 11011 带求补器的补码阵列 x 补 0 11011 y 补 1 00001 乘积符号位单独运算 0 1 1 尾数部分算前求补输出 X 11011 y 11111 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 X Y 0 1101000101 2 原码阵列 x 0 11111 y 0 11011 符号位 x0 y0 1 1 0 x 补 11111 y 补 11011 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 x y 补 0 11010 00101 31 直接补码阵列 x 补 1 00001 y 补 1 00101 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 x y 补 0 11010 00101 带求补器的补码阵列 x 补 1 00001 y 补 1 00101 乘积符号位单独运算 1 1 0 尾数部分算前求补输出 X 11111 y 11011 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 X Y 0 1101000101 21 用原码阵列除法器计算 x y 1 x 0 11000 y 0 11111 2 x 0 01011 y 0 11001 解 解 1 符号位 Sf 0 1 1 去掉符号位后 y 补 00 11111 y 补 11 00001 x 补 00 11000 0 0 1 1 0 0 0 y 补 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 y 补 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 32 y 补 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 11 0 0 0 0 1 1 0 y 补 1 1 0 0 0 0 1 1 1 0 0 1 1 1 0 110 1 0 0 1 1 1 0 补0 0 1 1 1 1 1 5 2 00111 0 11000 0 余数 y x 2 符号位 Sf 1 0 1 去掉符号位后 y 补 00 11001 y 补 11 00111 x 补 00 01011 0 0 0 1 0 1 1 y 补 1 1 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 y 补 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 0 y 补 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 01 0 1 0 0 1 1 0 y 补 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 011 0 0 1 1 0 1 0 y 补 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0111 0 0 0 0 0 1 0 y 补 1 1 0 0 1 1 1 5 2 10111 0 01110 0 余数 y x 22 设阶码 3 位 尾数 6 位 按浮点运算方法 完成下列取值的 x y x y 运算 1 x 2 011 0 100101 y 2 010 0 011110 2 x 2 101 0 010110 y 2 100 0 010110 解 设两数均以补码表示 阶码采用双符号位 尾数采用单符号位 则它们的浮点表示 分别为 题 1 题 1 x 浮 11 101 0 100101 y 浮 11 110 1 100010 1 求阶差并对阶 E Ex Ey Ex 补 Ey 补 Ex 补 Ey 补 11 101 00 010 11 111 即 E 为 1 x 阶码小 应使 Mx 右移 1 位 Ex 加 1 x 浮 11 110 0 010010 1 2 尾数求和 33 0 010010 1 1 100010 1 110100 1 3 规格化 可见尾数运算结果的符号位与最高位相同 应执行左规格化处理 每左移尾数一次 相应阶码减 1 所以结果尾数为 1 010010 阶码为 11 100 4 舍入处理 对本题不需要 5 判溢出 阶码两符号位为 11 不溢出 故最后结果为 x 浮 y 浮 11 100 1010010 真值为 2 100 0 101110 2 尾数求差 0 010010 1 0 011110 0 110000 1 x 浮 y 浮 11 100 0 110001 真值为 2 100 0 110001 题 2 题 2 x 浮 11 011 1 101010 y 浮 11 100 0 010110 1 求阶差并对阶 E Ex Ey Ex 补 Ey 补 Ex 补 Ey 补 11 011 00 100 11 111 即 E 为 1 x 阶码小 应使 Mx 右移 1 位 Ex 加 1 x 浮 11 100 1 110101 0 2 尾数求和 1 110101 0 0 010110 0 001011 0 3 规格化 可见尾数运算结果的符号位与最高位相同 应执行左规格化处理 每左移尾数一次 相应阶码减 1 所以结果尾数为 0 101100 阶码为 11 010 4 舍入处理 对本题不需要 5 判溢出 阶码两符号位为 11 不溢出 故最后结果为 x 浮 y 浮 11 010 010100 真值为 2 110 0 010100 23 设数的阶码为 3 位 尾数 6 位 用浮点运算方法 计算下列各式 1 23 13 16 2 4 9 16 2 2 2 13 32 23 15 16 解 1 Ex 0011 Mx 0 110100 Ey 0100 My 0 100100 Ez Ex Ey 0111 34 Mx My 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 规格化 2 6 0 111011 2 Ex 1110 Mx 0 011010 Ey 0011 My 0 111100 Ez Ex Ey 1110 1101 1011 Mx 补 00 011010 My 补 00 111100 My 补 11 000100 0 0 0 1 1 0 1 0 My 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 My 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 My 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 01 0 1 0 1 1 0 0 0 My 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 011 0 0 1 1 1 0 0 0 My 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0110 1 1 1 1 1 0 0 0 My 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 01101 0 1 1 0 1 0 0 0 My 1 1 0 00 1 0 0 0 0 1 0 1 10 0 0 01101 商 0 110110 2 6 余数 0 101100 2 6 24 某加法器进位链小组信号为 C4 C3 C2 C1 低位来的进位信号为 C0 请分另按下 述两种方法写出 C4 C3 C2 C1 逻辑表达式 1 串行进位方式 2 并行进位方式 解 35 4 位加法器如上图 1 1 11 iiiii iiiii iiiiiii CBABA CBABA CBCABAC 1 串行进位方式 C1 G1 P1C0 其中 G1 A1B1 P1 A1 B1 A1 B1也对 C2 G2 P2C1 G2 A2B2 P2 A2 B2 C3 G3 P3C2 G3 A3B3 P3 A3 B3 C4 G4 P4C3 G4 A4B4 P4 A4 B4 2 并行进位方式 C1 G1 P1C0 C2 G2 P2G1 P2P1C0 C3 G3 P3G2 P3P2G1 P3P2P1C0 C4 G4 P4G3 P4P3G2 P4P3P2G1 P4P3P2P1C0 25 若给定全加器 半加器和门电路 请设计实现余 3 码的十进制加法器的逻辑线路 解 1 余 3 码到十进制的转换电路 如图所示电路是一个用四位加法器构成的代码变换电路 若输入信号 E3 E2 E1 E0为余 3BCD 码 则输出端 S3S2S1S0是代码 BCD8421 2 在十进制运算时 当相加二数之和大于 9 时 便产生进位 可是用 BCD 码完成十进制数运算时 当和数大于 9 时 必须对和数进行加 6 修正 这是因为 采用 BCD 码后 在二数相加的和数小于等于 9 时 十进制运算的结果是正确的 而当相加的和数大于 9 时 结果不正确 必须加 6 修正后才能得 出正确的结果 因此 当第一次近似求值时 可将它看成每一级是一个 4 位二进制加法器来执行 就好像 i和 i是普通 4 位二进制数一样 设 S i代表这样得到的 4 位二进制数和 C i 1为输出 进位 而 Si代表正确的 BCD 和 Ci 1代表正确的进位 那么当 i i Ci 10 时 Si S i 当 Xi Yi Ci 10 时 Si S i 6 显然 当 C i 1 1 或 S i 10 时 输出进位 Ci 1 1 因此 可利用 Ci 1的状态来产生所要求的 校正因子 Ci 1 1 时校正因子为 6 Ci 1 0 时校正因子为 0 在图 2 3 b 中 4 位行波式进位的二 进制加法器计算出和 S i 然后 S i经过第二级二进制加法器加上 0 或 6 则产生最终结果 Si 36 解二 余 3 码编码的十进制加法器规则如下 两个一位十进制数的余 3 码相加 如果无进位 则从和数中减去 3 加上 1101 如结果有进位 则得和数和余 3 码 试设计余 3 码编码的十进制加法器单元电路 解 设余三码编码的两个运算数为 Xi和 Yi 第一次用二进制加法求和运算的和数为 Si 进位为 Ci 1 校正后所得的余三码和数为 Si 进位为 Ci 1 则有 Xi Xi3Xi2Xi1Xi0 Yi Yi3Yi2Yi1Yi0 Si Si3 Si2 Si1 Si0 FAFA FA FA FAFAFA FA si3si2si1si0 si3 si2 si1 si0 3V Xi3 Yi3Xi2 Yi2Xi1 Yi1Xi0 Yi0 十进校正 二进加法 Ci 1 37 当 Ci 1 1 时 Si Si 0011 并产生 Ci 1 当 Ci 1 0 时 Si Si 1101 根据以上分析 可画出余三码编码的十进制加加法器单元电路如图所示 26 设有寄存器 74181 和 74182 器件 请设计具有并行运算功能的 16 位 含一位符号位 补码二进 制加减法运算器 画出运算器的逻辑框图 解 1 用集成电路构成ALU 的原理 74181 是一种具有并行进位的多功能ALU 芯片 每4 位构成一组 组内是并行进位的 主 教材图2 13 是用正逻辑和负逻辑表示的4 位74181 芯片框图 表2 19 是74181 芯片的各种运算功 能表 74181 芯片本身是4 位的 也就是说它可以进行4 位二进制数的各种运算 74181 芯片的 结构很适合连成不同位数的ALU 由4 片74181 ALU 可以构成一个16 位的ALU 由16 片74181 A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论