进制转换:
数字系统的由来:
远古时代:
非位置化数字系统:罗马数字。
位置化数字系统:二进制|八进制|十进制|十六进制
计算机只有通电和不通电两种状态(0/1)
十进制:10个可用符号表示一个数字;
0,1,2,3,4,5,6,7,8,9,10
二进制:用两个可用符号表示一个数字;
0,1
不同的位表示不同的表达方式。
例如:
百位 十位 个位
2 3 5
2*100+3*10+5*1
2*10^2+3*10^1+5*10^0
例如:
二进制->10进制
八位 四位 二位 个位
1 0 1 1
1*8 + 0*4 + 1*2 + 1*1
1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
8 + 0 + 2+ 1= 11(10进制)
八进制
用8个可用符号来表示一个数字;
0,1,2,3,4,5,6,7
0,1,2,3,4,5,6,7(10)
例如:
八进制转10进制
2 7 7
2*8^2 7*8^1 7*8^0
2*64 7*8 7*1
128 56 7 ->(128+56+7->191(10))
十六进制
用16个可用符号来表示一个数字;
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15(10)
例如:
十六进制转10进制
2 A E
2*16^2 10*16^1 14*16^0
2*256 10*16 14*1
512 160 14 ->(512+160+14=686(10))
十进制 转 二进制
连除法
29(10)->11101(2)
具体过程:
=29
/2
=14 -> 1 (14余1)
/2
=7 -> 0 (7余0)
/2
=3 -> 1 (3余1)
/2
=1 -> 1 (1余1)
/2
=0 -> 1 (0余1)
后进行 反向排列 得出:11101
十进制转八进制
例如:
=900
/8 ->余 4
=112
/8 -> 余 0
=14
/8 -> 余 6
=1
/8 -> 余 1
=0
后进行 反向排列 结果:1604
十进制转16进制
例如:
=2717
/16 ->余13 ->D
=169
/16 ->余9
=10
/16 ->余10 ->A
=0
后进行 反向排列 得出:A9D
二进制|八进制|十六进制
相互转换
由于2^3=8,所以每3位二进制可以转换为1位八进制
10 111 001(2) --> 271(8)
由于2^4=16,所以每4位二进制可以转换为1位16进制
1011 1001(2) --> B9(16)