看了《深入理解计算机系统(原书第2版)》第二章后做的部份练习题

A、将0x39A7F8转换为二进制
3=0011
9=1001
A=1010
7=0111
F=1111
8=1000
最终结果为001110011010011111111000
 
B、将二进制1100100101111011转换为十六进制
1100=C
1001=9
0111=7
1011=B
最终结果为0xC97B
 
C、将0xD5E4C转换成二进制
D=1101
5=0101
E=1110
4=0100
C=1100
最终结果为11010101111001001100
 
D、将二进制10 0110 1110 0111 1011 0101转换为十六进制
0010=2
0110=6
1110=E
0111=7
1011=B
0101=5
最终结果为0x26E7B5

n

2n(十进制)

2M(十六进制)

9

512

0x200

19

524288

0x80000

10

16384

0x40000

16

65536

0x10000

17

131072

0x20000

5

32

0x20

7

128

0x80


已知二进制指数转十六进制

i+4j=19 = 3+4*4 = 0x80000

i+4j=17 = 1+4*4 = 0x20000

 

十进制转十六进制

16384 = 1024*16+0  (0)16

1024=64*16+0   (0)16

64=4*16+0    (0)16

4=0*16+4    (4)16

 

32 = 2*16+0  (0)16

2=0*16+2  (2)16

 

已知十六进制求二进制指数

0x20 = 1+4*1=5

0x10000 = 0+4*4=16

0x400 = 2+4*2 = 10

十六进制转十进制

0x80000 = 8*164+0+0+0+0= 8*65536 = 524288

0x10000 = 1*164+0+0+0+0= 1*65536 = 65536

0x20000 = 2*164+0+0+0+0= 2*65536 = 131072

0x80 = 8*16+0 = 128


十进制

二进制

十六进制

0

0000 0000

0x00

167

1010 0111

0xA7

62

0011 1110

0x3E

188

1011 1100

0xBC

55

0011 0111

0x37

136

1000 1000

0x88

243

1111 0011

0xF3

82

0101 0010

0x52

172

1010 1100

0xAC

231

1110 0111

0xE7

167 = 10*16+7  (7)16

10=0*16+10   (A)16

 

62 = 3*16+14  (E)16

3 = 0*16+3  (3)16

 

188 = 11*16+12 (C)16

11 = 0*16 +11  (B)16

 

0x37 = 3*16+7 = 5510

0x88 = 8*16+8 = 128+8 = 136

0xF3 = 15*16+3 = 240+3 = 243

0x52 = 5*16+2 = 80+2 = 82

0xAC = 10*16+12 = 172

0xE7 = 14*16+7 = 224+7 = 231



0x503c+0x8 =0x5046

0x503c-0x40 = 0x4EEc

0x503c+64 = (这个64不转16进制,实在不知道怎么加)

0x50ea-0x503c =0X00AE




你可能感兴趣的:(看了《深入理解计算机系统(原书第2版)》第二章后做的部份练习题)