进制转换

Tutorial: 汇编基础 Category: C语言 Published: 2026-04-07 13:58:26 Views: 22 Likes: 0 Comments: 0
  1. 十进制位的概念
437 = 4*10^2 + 3*10^1 + 7*10^0
  1. 二进制转十进制
1111(B) = 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0 = 8 + 4 + 2 + 1 = 15 = F(H)
  1. 十进制快速转换二进制(背)
2^10    2^9    2^8    2^7    2^6    2^5    2^4    2^3    2^2    2^1    2^0
1024    512    256    128    64     32     16     8      4      2      1

// 6次方以下是2位,最大就是64了
// 9次方以下是3位,最大就是512了
// 10次方就剩1024
// 8次方比9小一倍,就是256
// 7次方比6大一倍,就是128
// 5次方比6小一倍,就是32了
// 4次方就是4个4相加了,就是16

19 = 16 + 3 = 10011(B)
88 = 64 + 16 + 8 = 1011000(B)
  1. 十六进制转十进制
0  1  2  3  4  5  6  7  8  9  A(10)  B(11)  C(12)  D(13)  E(14)  F(15)

AF(H) = A*16^1 + F*16^0 = 10*16 + 15*1 = 175
  1. 十进制快速转换成十六进制
16^3    16^2    16^1    16^0
4096    256     16      1

10*16 9*16 8*16 7*16 6*16 5*16 4*16 3*16 2*16 1*16
160   144  128  112  96   80   64   48   32   16

20*16 19*16 18*16 17*16 16*16 15*16 14*16 13*16 12*16 11*16 
320   304   288   272   256   240   224   208   192   176

80  = 5*16^1 + 0*16^0 = 50(H)
199 = 192 + 7 = 12*16^1 + 7*16^0 = C7(H)
  1. 十六进制快速转换成二进制
F9(H) = F(1111) 9(1001) = 11111001(B)
  1. 练习
211(10) = 208 + 3 = 13*16^1 + 3*16^0 = D3(h)
211(10) = 2^7 + 83 = 128 + 64 + 16 + 2 + 1 = 1101 0011(b)

D3(h) = 13*16^1 + 3*16^0 = 208 + 3 = 211(10)
D3(h) = D(8 4 1)3(2 1) = 1101 0011(b)

1101 0011(b) = 1*2^7 + 1*2^6 + 1*2^4 + 1*2^1 + 1*2^0 = 128 + 64 + 16 + 2 + 1 = 211(10)
1101 0011(b) = (1*2^3 + 1*2^2 + 1*2^0) + (1 *2^1 + 1*2^0) = 13 + 3 = D3(h)
Prev: None Next: DOSBox安装