二进制、八进制、十六进制和十进制的相互转换
程序员文章站
2024-03-16 22:21:28
...
这篇的内容算是计算机基础了,若长期没想到这方面的问题或许会忘记,这篇文章就是我用来简单记录,复习并方便今后查阅而写的。
一、十进制
十进制就是人们常用的计数方式,逢九进一。
9遇到1变成十;19遇到1变成20;999遇到1变成1000。
二、二进制
如果说十进制是人类的计算度量单位,那么二进制就是机器识别的计算度量单位,逢二进一。
在计算机中,有个概念叫位,一个byte是8位,八位的二进制(0或1),我们下面讨论的都将以8位为准,例如1,在计算机中显示为00000001,那么计算机中1+1=2,则逢2进1就是00000010,在java中如果要定义一个数为二进制数,则可以这样定义int a = 0b111(Java中前面加上0b就是表示的二进制);计算机中规定最高位是符号位正数用0表示,负数则用1表示,那么-1则怎么表示呢,是1000 0001吗?答案是否定的,我另有文章讲到原码、反码、补码的时候会提到。
三、八进制
逢八进一,三位的八进制(0-7)。
Java中定义8进制数9则定义成 int a = 011,定义7为 int a = 07。(Java中前面用0则表示八进制)
四、十六进制
逢十六进一。
9表示成int a = 0x9,10可以表示成int a = 0x10或者int a = 0xa,字母a-f分别可以表示数字10-15,因为数字2位可能看起来不是很直观。
五、Java实例
//十进制
System.out.println(54);//54
//二进制
System.out.println(0b111);//7
//八进制
System.out.println(012);//10
//十六进制
System.out.println(0x10);//16
System.out.println(0xa);//10
System.out.println(0xf);//15
KEEP MOVE!
上一篇: A* 寻路算法简单实现