进制转换(各进制的原理)
二进制
一个字节等于8个二进制数
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
1代表有,0代表没有,从右往左看,八个二进制数分别代表了1,2,4,8,16,32,64,128。这8个二进制组合可以代表1~256当中的任何一个数字(所有都是1的话加起来就是256,所有都是0的话加起来就是0。 1~256当中任何一个数字都可以从中表示出来)。这256个字符可以转换成256个字符,这就是所谓的ASCII码。
比如:二进制表示 37
0 0 1 0 0 1 0 1
128 64 32 16 8 4 2 1
1代表有,2代表没有,对照一下,为1的加起来就等于37,这就是二进制的原理。
十进制
就是人们常用的数字1,2,3,4,5.。。。。
八进制
一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。
八进制和十进制原理一样,只不过十进制不限制范围,但是8进制只是0~7,0~7这八个数字用二进制表示如上图所示,转换原理就是二进制转十进制
例子:
十进制数115
二进制表示就是
0 1 1 1 0 0 1 1
128 64 32 16 8 4 2 1
所有有1的加起来就是115
八进制表示就是把二进制三个三个分开(左边可以无限补0)0 1 1 1 0 0 1 1
第一个0 1 其实就是0 0 1 转换成八进制代表1
第二个1 1 0 转换成八进制代表6
第三个0 1 1 转换成八进制代表 3
所以115转换成八进制就是163
十六进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
例子:加入有一个十六进制数字 2AF5,转换成二进制、十进制。
拆分,先看 5 换成二进制为 0 1 0 1
F 换成二进制为 1 1 1 1
A 换成二进制为 1 0 1 0
2 换成二进制为 0 0 1 0
所以换成二进制加起来就是 0 0 1 0, 1 0 1 0 ,1 1 1 1, 0 1 0 1
转换成十进制为 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
上边是各进制转换的原理,把原理理解透,然后在用那些转换的方法。