一、二进制,八进制,十进制,十六进制
1.二进制,比如 1111111;
采用 0,1 两个数码,逢二进一。
2. 八进制,以0开头。比如05,0237;
采用0,1,2,3,4,5,6,7八个数码,逢八进一,并且开头一定要以数字"0"开头。
3. 十进制。比如20,457;
采用0,1,2,3,4,5,6,7,8,9十个数码,逢十进一。
4. 十六进制,以0x开头。比如0x7a;
采用0,1,2,3,4,5,6,7,8,9,A,B,C,D,F十六个数码,逢十六进一,并且开头一定要以“0x”开头
二、常用二进制 十进制 八进制 十六进制
0001 1 01 0x1 | 1001 9 011 0x9
0010 2 02 0x2 | 1010 10 012 0xA
0011 3 03 0x3 | 1011 11 013 0xB
0100 4 04 0x4 | 1100 12 014 0xC
0101 5 05 0x5 | 1101 13 015 0xD
0110 6 06 0x6 | 1110 14 016 0xE
0111 7 07 0x7 | 1111 15 017 0xF
1000 8 010 0x8 |
三、进制转换
1.二转十 例子:101010.01
101010 从个位开始往左分别代表 20 21 22 23 24 25 26 27 28 29 210 即 1 2 4 8 16 32 64 128 256 512 1024
32 16 8 4 2 1 1*32+16*0+1*8+4*0+2*1+1*0=32+8+2=42
.01 从十分位开始往后分别代表 2-1 2-2 2-3 2-4 即 1/2 1/4 1/8 1/16
0.5 0.25 0*0.5+1*0.25=0.25
101010.01=42+0.25=42.25
2.二转八 也可以先二转十,十转八 例子:101010.01
由于23=8,所以 从个位往左开始 分成3位一组算,不足3位的左添0,小数点后面从十分位往右也是三位一组算,但不足3位的右添0
101 010 .010 就和"二转十"一样, 每三位各代表 百4 十2 个1
101 421 =4*1+2*0+1*1=5
010 421=4*0+2*1+1*0=2
.010 =.2
101010.01=052.2
3.二转十六 也可以先二转十,十转十六 例子:101010.01
由于24=4,所以 从个位往左开始 分成4位一组算,不足4位的左添0,小数点后面从十分位往右也是4位一组算,但不足4位的右添0
0010 1010 .0100 就和"二转十"一样, 每四位各代表 千8 百4 十2 个1
0010 =2
1010=10=A
.0100=.4
101010.01=0x2A.4
3.十转 二 八 十六 例子: 42.25
十转二 除二取余 :整数位/2 算余数 ,乘二取整:小数*2 看个位,无小数就停止
42/2=21 余 0 0.25*2=0.5 看个位 0
21/2=10 余 1 0.5*2=1 看个位 1
10/2=5 余 0
5/2=2 余 1
2/2=1 余 0
1/2 = 0 余 1
(42)10=(101010)2 (0.25)10=(.01)2
(42.25)10=(101010.01)2
十转八 除八取余:整数位/8 算余数 ,乘八取整: 小数*8 看个位,无小数就停止
42/8=5 余2 0.25*8=2 个位2
5/8=0 余5
(42)10=(52)8 (0.25)10=(.2)8
(42.25)10=(52.2)8
十转十六 除十六取余:整数位/16 算余数 ,乘十六取整: 小数*16 看个位,无小数就停止
42/16=2 余10 0.25*16=4 个位4
2/16=0 余2
(42)10=(2A)16 (0.25)10=(.4)16
(42.25)10=(2A.4)16
八转二 例子:052.2
一位转三位 421
5 =101
2 =010
.2=010
052.2=(101010.01)2
八转十 例子:052.2
从个位往左 80 81 82 83 84 即 1 8 64 512 4096
5*8+1*2=42
从十分位往右 8-1 8-2 8-3 8-4 即 1/8 1/64 1/512 1/4096
2*0.125=0.25
052.2=42+0.25=42.25
十六转二 例子:0x2A.4
一位转四位
2=0010
A=10=1010
.4=0100
0x2A.4=(101010.01)2
十六转十 例子:0x2A.4
从个位往左 160 161 162 即 1 16 256
2*16+A*1=32+10=42
从十分位往右 16-1 16-2 即 1/16 1/256
4*1/16=0.25
0x2A.4=42+0.25=42.5