单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.7 进制及其转换

进制是数字的进位计数制,R进制也就是逢R进一。计算机只能识别二进制,也就是逢二进一,例如,1+1在十进制中为2,在二进制中逢2进1,则为10。以下为进制表示表。

二进制 三进制 八进制 九进制 十进制 十六进制
0 0 0 0 0 0
1 1 1 1 1 1
10 2 2 2 2 2
11 10 3 3 3 3
100 11 4 4 4 4
101 12 5 5 5 5
110 20 6 6 6 6
111 21 7 7 7 7
1000 22 10 8 8 8
1001 100 11 10 9 9
1010 101 12 11 10 A
1011 102 13 12 11 B
1100 110 14 13 12 C
1101 111 15 14 13 D
1110 112 16 15 14 E
1111 120 17 16 15 F
10000 121 20 17 16 10

1.R进制转十进制——按权展开

其具体操作方式为:具体操作:将R进制数的每一位数值用Rk形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1****。**

例如****二进制:10100.01=1*24+0*23+1*22+0*21+0*20+0*2-1+1*2-2

例如****七进制:604.01=6*72+0*71+4*70+0*7-1+1*7-2

2.十进制转R进制——短除法

例如:将94转换为二进制数

余数

2|94…0

2|47…1

2|23…1

2|11…1

2|5…1

2|2…0

1

得到的结果为:1011110(从下往上)

3.二进制转八进制、十六进制

二进制转八进制

010 001 110

↓ ↓ ↓

2 1 6

二进制转十六进制

1000 1110

↓ ↓

8 E

4.进制常用表

十进制 十进制值 八进制 十六进制值
2^0 1 1 1
2^1 2 2 2
2^2 4 4 4
2^3 8 10 8
2^4 16 20 10
2^5 32 40 20
2^6 64 100 40
2^7 128 200 80
2^8 256 400 100
2^9 512 1000 200
2^10 1024 2000 400
2^11 2048 4000 800
2^12 4096 10000 1000
2^13 8192 20000 2000
2^14 16384 40000 4000
2^15 32768 100000 8000
2^16 65536 200000 10000
2^17 131072 400000 20000
2^18 262144 1000000 40000
2^19 524288 2000000 80000
2^20 1048576 4000000 100000

你可能感兴趣的:(单片机之从C语言基础到专家编程,c语言,开发语言)