微机原理习题答案2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
(2) ∵ X=87H=1000 0111B 为负数,Y=78H=0111 1000B 为正数
∴ X 选取字长n为8位,已知数的原码表示如下,求出其补码。 (1)[X]原=01010101 (2)[Y]原= (3)[Z]原= (4)[W]原= 解:(1) [X]补=0101 0101 (2) [Y]补=1101 0110 (3) [Z]补=1000 0001 (4) [W]补=1111 1111 设给定两个正的浮点数如下