1.将下列十进制数转换为二进制数和十六进制数:
(1) 369
(2) 10000
(3) 4095
(4) 32767
答:
(1) 369=1 0111 0001B=171H
(2) 10000=10 0111 0001 0000B=2710H
(3) 4095=1111 1111 1111B=FFFH
(4) 32767=111 1111 1111 1111B=7FFFH
2. 将下列二进制数转换为十六进制数和十进制数:
(1) 10 1101
(2) 1000 0000
(3) 1111 1111 1111 1111 (4) 1111 1111
答:
(1) 10 1101B=2DH=45
(2) 1000 0000B=80H=128
(3) 1111 1111 1111 1111B=FFFFH=65535
(4) 1111 1111B=FFH=255
3. 将下列十六进制数转换为二进制数和十进制数:
(1) FA
(2) 5B
(3) FFFE
(4) 1234
答:
(1) FAH=1111 1010B=250
(2) 5BH=101 1011B=91
(3) FFFEH=1111 1111 1111 1110B=65534
(4) 1234H=1 0010 0011 0100B=4660
4. 完成下列十六进制数的运算,并转换为十进制数进行校核:
(1) 3A+B7
(2) 1234+AF
(3) ABCD-FE
(4) 7AB ×6F
答:
(1) 3A+B7H=F1H=241
(2) 1234+AFH=12E3H=4835
(3) ABCD-FEH=AACFH=43727
(4) 7AB×6FH=35325H=217893
补充:十六进制的乘除法怎么运算
十六进制的乘除法运算跟十进制一样但是规则是:逢知16进1。以计算350AH*12H为例:
先用2*350A
2*A=20 进一位余20-16=4
2*0=0 进零位余0加上面的进位等于1
2*5=10 进零位余A
2*3=6 进零位余6
所以2*350A=6A14
同理10*350A=350A0
最后350AH*12H=6A14+350A0=3BAB4
5. 下列各数均为十进制数,请用8 位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76
(2) 85+(-76)
(3) 85-76
(4) 85-(-76)
(5) (-85)-76
(6) -85-(-76)
答:
(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H ;CF=0;OF=0
(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H ;CF=1;OF=0
(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H ;CF=0;OF=0
(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H ;CF=0;OF=1
(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH ;CF=0;OF=1
(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H ;CF=0;OF=0
补充:
5.1 补码转原码:在有符号的二进制计算中,是用补码来计算的,计算后的值应该要转成源码,补码转原码其实就是再将补码进行一次求补码的操作。
5.2
- 当两个符号位相同的数做加法时,如果结果的符号位发生变化,则为溢出.
- 当两个符号位不同的数做减法时,以A-B=C为例,如果A与C的符号位不同则为溢出.
- 其它情况下均不会有溢出.
5.3
- 当两个数相加的结果的长度增大时会产生进位.
- 两个不同符号数相减,若被减数为负,减 数为正,相减后CF=0;
- 当正数大于等于 负数的绝对值时,相加后产生进位,CF=1否则 CF=0
6 下列各数为十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?
(1) D8
(2) FF
答:
(1) D8H 表示的带符号数为-40, D8H 表示的无符号数为216;
(2) FFH 表示的带符号数为-1, FFH 表示的无符号数为255。
7 下列各数均为用十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的数或字符的 ASCII 码时,它们所表示的十进制数及字符是什么?
(1) 4F
(2) 2B
(3) 73
(4) 59
答:
(1) 4FH 表示的十进制数为79,4FH 表示的字符为 O;
(2) 2BH 表示的十进制数为43,2BH 表示的字符为+;
(3) 73H 表示的十进制数为115,73H 表示的字符为 s;
(4) 59H 表示的十进制数为89, 59H 表示的字符为 Y 。