微机原理习题答案2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《微机原理》习题2 (P40)参考答案

为什么说计算机只能“识别”二进制数,并且计算机内部数的存储及运算也都采用二进制?解:因为二进制是计算机刚出现时就奠定的计算机内的进位记数制,之所以选用它来表示计算机内的信息,是因为两个状态的物理器件容易制造和实现,将这两个状态抽象为数字就可用0、1来表示;此外,采用二进制的运算规则较为简单,容易实现。

在进位记数制中,“基数”和“位权(或权)”的含义是什么?一个以b为基数的任意进制数N,它按位权展开式求值的一般通式是如何描述的?

解:在进位记数制中,常常要用“基数”(或称底数)来区别不同的数制,而进位制的基数就是该进位制所用的字符或数码的个数。

在一个进位记数制中,每一位都有特定的权,称为位权或简称权。每个位权由基数的 n次幂来确定。

数N的按位权展开式的一般通式为:N=±(k i×b i)

式中,k i为第i位的数码;b为基数;b i为第位的位权;n为整数的总位数;m 为小数的总位数。

将下列十进制数分别转化为二进制数。

(1)147 (2)4095 (3) (4)

解:(1) 147 D= B

(2) 4095 D= B

(3) D= B

(4) D= B

将下列二进制数分别转换为BCD码。

(1)1011 (2) (3) (4)

解:(1) 1011 B=1×23+0×22+1×21+ 1×20=11 D=(0001 0001)BCD

(2) B=1×2-2= D= 0101)BCD

(3) B =1×24+1×22+1×20+1×2-1+1×2-3 = D

=(0010 0010 0101)BCD

(4) =1×24+1×23+1×21+1×20+1×2-3=

=(0010 0010 0101)BCD

将下列二进制数分别转换为八进制数和十六进制数。

(1)B (2)11B (3) (4) .0011B

解:(1) 1010 1011B=253Q=ABH

(2) 10 1111 0011B=1363Q=2F3H

(3) 1011B==

(4) 1110 ==

选取字长n为8位和16位两种情况,求下列十进制数的原码。

(1)X=+63 (2)Y=-63 (3)Z=+118 (4)W=-118

解: (1) [X]原= [+63]原=0011 1111=0000 0000 0011 1111

(2) [Y]原= [-63]原=1011 1111=1000 0000 0011 1111

(3) [Z]原= [+118]原=0111 0110=0000 0000 0111 0110

(4) [W]原= [-118]原=1111 0110=1000 0000 0111 0110

选取字长n为8位和16位两种情况,求下列十进制数的补码。

(1)X=+65 (2)Y=-65 (3)Z=+127 (4)W=-128

解:(1) [X]补=[+65]补=0100 0001=0000 0000 0100 0001

(2) [Y]补=[-65]补=1011 1111=1111 1111 1011 1111

(3) [Z]补=[+127]补=0111 1111=0000 0000 0111 1111

(4) [W]补=[-128]补=1000 0000=1111 1111 1000 0000

已知数的补码表现形式如下,分别求出数的真值与原码。

(1)[X]补=78H (2)[Y]补=87H (3)[Z]补=FFFH (4)[W]补=800H

解:(1) ∵[X]补=78H=0111 1000 B ∴ [X]原=0111 1000 B=78H 真值X=120 D

(2) ∵[Y]补=87H=1000 0111 B ∴ [Y]原=1111 1001 B=0F9H 真值Y=-121 D

(3) ∵[Z]补=FFFH=1111 1111 1111 B (假设为12位补码)

∴[Z]原=1000 0000 0001 B=801H 真值Z=-1 D

(4) ∵[W]补=800H=1000 0000 0000 B (假设为12位补码)

∴[W]原=不存在 W的真值 = -211 = -2048 D

设字长为16位,求下列各二进制数的反码。

(1)X=00100001B (2)Y=-00100001B (3)Z=0B (4)W=-0B

解:(1) ∵X= 0010 0001B=0000 0000 0010 0001B ∴[X]反=0000 0000 0010 0001B

(2)∵Y=-0010 0001B=1000 0000 0010 0001B ∴[Y]反=1111 1111 1101 1110B

(3)∵Z=0101 1101 1011B=0000 0101 1101 1011B ∴[Z]反=0000 0101 1101 1011B

(4)∵W=-0101 1101 1011B=1000 0101 1101 1011B ∴[W]反=1111 1010 0010 0100B

下列各数均为十进制数,试用8位二进制补码计算下列各题,并用十六进制数表示机器运算

结果,同时判断是否有溢出。

(1)(-89)+67 (2)89-(-67)(3)(-89)-67 (4)(-89)-(-67)

解:(1) [-89]补= 1010 0111 (2) [89]补= 0101 1001

+ [ 67 ]补= 0100 0011 - [-67]补= 1011 1101

[-89]补+[ 67 ]补= 1110 1010=[-16H]补 [89]补- [-67]补= 1001 1100=[-64H]补∴(-89)+67=-22=-16H ∴ 89-(-67)=156

无溢出有溢出

(3) [-89]补= 1010 0111 (4) [-89]补= 1010 0111

- [ 67 ]补= 0100 0011 - [-67]补= 1011 1101

[-89]补-[ 67 ]补= 0110 0100=[64H]补 [-89]补- [-67]补= 1110 1010=[-16H]补∴(-89)-67=-156 ∴ (-89)-(-67)= -16H=22

有溢出无溢出

分别写出下列字符串的ASCII码。

(1)17abc (2)EF98 (3)AB$D (4)This is a number 258

解:(1) 17abc的ASCII码为 00110001 00110111 01100001 01100010 01100011B

或31H 37H 61H 62H 63H

(2) EF98的ASCII码为 01000101 01100110 00111001 00111000B或45H 66H 39H 38H

(3) AB$D的ASCII码为 01000001 01000010 00100100 01000100B或41H 42H 24H 44H

(4) This is a number 258的ASCII码为:

54H 68H 69H 73H 20H 69H 73H 20H 61H 20H 6EH 75H 6DH 62H 65H 72H 20H 32H 35H 38H 设X=87H,Y=78H,试在下述两种情况下比较两数的大小。

(1)均为无符号数(2)均为带符号数(设均为补码)

解:(1) ∵X=87H=1000 0111B=135D Y=78H=0111 1000B=128D

∴ X>Y

相关文档
最新文档