目录
前言:
在我们平常的使用中我们主要接触的进制有:二进制,八进制,十进制,十六进制。
注意:下列所有数都为整数的转化。
二进制,八进制,十进制,十六进制的说明
二进制:
二进制是由0和1组成的一串数字,例如:1010,1011010,0b1010(在Java中0b或者0B代表的是二进制)。
八进制:
八进制是由0至7这八个数组成的一串数字,例如:234,0234(在Java中0234中的0代表此数为八进制数)。、
十进制:
十进制就是我们生活中所见到的阿拉伯数字,例如:1,123,123456,123456798。
十六进制:
十六进制是由0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F这十六个数组成的一串数字(其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)例如1A2B,5C,0x6CD5(在Java中0X,0x代表此数为十六进制数)。
二进制转换为八进制,十进制,十六进制
二级制转十进制:
已知二进制是由0和1组成的。
二进制转十进制从右往左算,第一位数 乘以 2的(位数-1)次方+第二位数 乘以 2的(位数-1)次方+......。(以此类推)
例如: 1010
转十进制为:0 乘以 2的(1-1)次方+1 乘以 2的(2-1)次方+0 乘以 2的(3-1)次方+1 乘以 2的(4-1)次方=10。
八进制转十进制,十六进制转十进制:
八转十与十六转十和二转十的方法相同。
二进制转八进制:
二进制数转为八进制数的做法为先将二进制数从右往左数没三位组成一个组合再将每个组合转化为十进制的数,最后将转化玩的数重新则合在一起则为八进制的数。
例如:10110101
10(2)110(6)101(5)所以10110101的八进制值为265(在Java中则用0265表示)。
二进制转十六进制:
与转八进制方法大致相同,其中不同的是这里是每四位为一个组合进行转换(其中10用A表示,11用B表示,12用C表示,13用D表示,14用E表示,15用F表示)。
例如:111010110101.
1110(E)1011(B)0101(5)所以111010110101的十六进制为EB5(在Java中则用0XEB5或者0xEB5表示)。
八进制,十进制,十六进制转换为二进制
十进制转二进制:
十转二则采用"除2取余,逆序排列"法,具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
例如:125。
所以最后125的二进制是1111101。
十进制转八进制或者十六进制与转二进制大致相同,不同的是转八进制整除的是8,转十六进制整除的是16(要注意的是十六进制中10用A表示,11用B表示,12用C表示,13用D表示,14用E表示,15用F表示)。
八进制转二进制:
八进制转二进制是将八进制的每位数转换成每三位为一个组合的二进制数,最后将每个组合进行合并即可。
例如:0256
2(010)5(101)6(110)所以0256的二进制数为10101110(最左边的0可以省略)。
十六进制转二进制:
十六进制转二进制与八转二方法大致相同,不同的地方在于是将每位十六进制数转为四位二进制数。
例如:0x1B2A
1(0001)B(1011)2(0010)A(1010)所以0x1B2A的二进制数为1101100101010(最左边的0可以省略)。
八进制,十六进制转换为十进制
八进制转换为十进制:
将八进制的数从右往左第一位的数 乘以8 的(位数-1)次方+第二位的数 乘以8 的(位数-1)次方+.....(以此类推)。
例如:0256
6乘以8 的(1-1)次方+5乘以8 的(2-1)次方+2乘以8 的(3-1)次方 最后结果为174。
十六进制转换为十进制:
将十六进制的数从右往左第一位的数 乘以16 的(位数-1)次方+第二位的数 乘以16 的(位数-1)次方+.....(以此类推)。
例如:0x1B2A
10(A)乘以16 的(1-1)次方+2乘以16 的(2-1)次方+11(B)乘以16
的(3-1)+1乘以16 的(4-1)次方 最后结果为6954。