1、1-3 写出下列十进制数的原码和补码,用二位或四位或八位十六进制数填入表中:十进制数原码补码十进制数 原码补码18928189283087963087963476553034765530十进制数原码补码十进制数原码补码18121292803A003A01892EE92883A0FC60301E1E8796225C225C309EE28796A25CDDA4347015B015B655300000FFFA0000FFFA347815BFEA5655308000FFFAFFFF00061-4 用十进制数写出下列补码表示的机器数的真值:1BH,71H,80H,F8H,397DH,7AEBH,9350
2、H,CF42H解:正数的真值,将十六进制数转换为十进制数即可。负数的真值,首先将该数求补,前面加一负号,再将求补后的十六进制数转换为十进制数。1BH=16+11=2771H=80H15=12815=11380H=80H=128F8H=08H=8397DH=4000H400H200H80H3 =1638410245121283=147177AEBH=8000H515H=8000H500H15H =32768102425621=31467CF42H=30BEH=3000H100H+42H =81924096256+66=124789350H=6CB0H=8000H+1350H =32768+409
3、6+512+256+80=278241-6 将8位无符号数AAH扩展为16位应为 ;将8位原码数BBH扩展为16位应为 ;将8位补码数88H扩展为16位应为 。解:无符号数的扩展是在其前面补0。无符号数AAH扩展为16位为00AAH。原码数的扩展是将其符号位向左移至最高位,符号位移过之位即最高位与数值位间的所有位都填入0。原码数BBH扩展为16位为803BH 补码数的扩展是符号位的扩展,正数的扩展应该在其前面补0,而负数的扩展,则应该在前面补1。补码数88H是负数,所以补码数88H扩展为16位为FF88H。1-10 将表中的十进制数按表中要求转换后用十六进制数填入表中:十进制数压缩BCD数非压
4、缩BCD数ASCII码389710525548376410001025解:填表如下:十进制数压缩BCD数非压缩BCD数ASCII码3838H0308H3338H9797H0907H3937H105105H010005H313035H255255H020505H323535H483483H040803H343833H764764H070604H373634H10001000H01000000H31303030H10251025H01000205H31303235H1.17在实地址方式中,设CS=0914H,共有243字节长的代码段,该代码段末地址的逻辑地址和物理地址各是多少?解:该代码段偏移地址
5、为0242,而242=25614=100HIEH=F2H所以,该代码段的地址范围是0914H:0000H0914H:00F2H末地址的逻辑地址是0914H:00F2H末地址的物理地址是0914H10H+00F2H=09232H1.18在实地址方式系统中,若DS=095FH时,物理地址是11820H。当DS=2F5FH时,物理地址为多少?解:11820H11820H 095F0H=8230H095F0H=8230H 2F5F0H+8230H=37820H2F5F0H+8230H=37820H所以当段地址DS=2F5FH时,物理地址变为37820H37820H。不同段地址的数据段示意图如下图所示。
6、算式114096+7512+664+58+3的结果以二进制数表示时含有多少个1?先看5个乘数:40962121 0000 0000 0000B512 29 10 0000 0000B64 26 100 0000B8 23 1000B1 20 1B再看5个被乘数,这5个被乘数11、7、6、5和3用二进制数表示分别为1101、0111、0110、0101和0011,每个被乘数中1的位数都不超过3位。且每个乘数的最高位为1,1后面的0的个数依次较其相邻的较大乘数少3个。5个加数相乘后,后面的加数中1位的最大权值均小于前面的加数中1位的最小权值。所以5个加数的加法没有1和1相加,只有1+0和0+0。因此,不用作乘法,也不用作加法就可以确定,该算式的结果以二进制数表示时,含有1的个数等于这5个被乘数11、7、6、5和3含有1的个数之和。