Java中的进制转换

首先来说,为什么会有进制的相互转换.....

大家平常所见到的数字,1,2,3....等等这些数字,从字面意思来理解也就代表1,2,3,类似于一种数学符号,让人一看到,就可以知道这是阿拉伯数字,代表着什么....

对于计算机而言,是无法识别这样的数字的,计算机语言,在前面我也说过,值可以识别二进制数字串,比如0000 0001

以上的数字“0000 0001”这个是代表什么呢?

这里涉及到我要说的进制转换了,整数存在多种进制类别,二进制,八进制,十进制,十六进制

数字之间的进制转换存在多种,而且他们之间是可以相互转化的。 

二进制的表示  数字以 0b开头

比如说 25 这个十进制数字,如何转换为二进制表示:

最简单的方法就是对25/2取余      对25这个数字进行操作

Java中的进制转换

得到的一串类似于010101的数字    11001 

那么就有人可能会问为什么25的二进制表示就是这样呢?

Java中的进制转换

其实也就是这样这样的一串010101数字,分别从右往左对应1 2 4 8 16 32 64 128 256 ....

当有1表示的时候就代表加上该数字,如果数字为0的话就不加,所以以上数字从右往左加1+8+16=25

所以说25的二进制表示就是11001

八进制以0开头   

Java中的进制转换

如何把二进制10010101转换为6进制

首先先把二进制转化为10进制,然后再对6取余,的余数,便是六进制表示。

Java中的进制转换

十六进制以0x开头   0 1 2 3 4 5 6 7 8 9 A B C D E F

Java中的进制转换

负数的二进制

Java中的进制转换

注意:负数的二进制取反+1