Java中的进制转换
首先来说,为什么会有进制的相互转换.....
大家平常所见到的数字,1,2,3....等等这些数字,从字面意思来理解也就代表1,2,3,类似于一种数学符号,让人一看到,就可以知道这是阿拉伯数字,代表着什么....
对于计算机而言,是无法识别这样的数字的,计算机语言,在前面我也说过,值可以识别二进制数字串,比如0000 0001
以上的数字“0000 0001”这个是代表什么呢?
这里涉及到我要说的进制转换了,整数存在多种进制类别,二进制,八进制,十进制,十六进制
数字之间的进制转换存在多种,而且他们之间是可以相互转化的。
二进制的表示 数字以 0b开头
比如说 25 这个十进制数字,如何转换为二进制表示:
最简单的方法就是对25/2取余 对25这个数字进行操作
得到的一串类似于010101的数字 11001
那么就有人可能会问为什么25的二进制表示就是这样呢?
其实也就是这样这样的一串010101数字,分别从右往左对应1 2 4 8 16 32 64 128 256 ....
当有1表示的时候就代表加上该数字,如果数字为0的话就不加,所以以上数字从右往左加1+8+16=25
所以说25的二进制表示就是11001
八进制以0开头
如何把二进制10010101转换为6进制
首先先把二进制转化为10进制,然后再对6取余,的余数,便是六进制表示。
十六进制以0x开头 0 1 2 3 4 5 6 7 8 9 A B C D E F
负数的二进制
注意:负数的二进制取反+1