您的位置 首页 java

java基础之进制转换

大家好,今天我们来探讨下进制转换。

在探讨进制转换之前,我们先了解一下什么是进制。我们计算机通常使用的进制有:二进制、八进制、十进制和十六进制。

二进制:

什么是二进制呢?二进制就是满二进一的进制运算 如 0001 = 1 、0010 = 2。我们可以发现,二进制中只会出现0和1,同时二进制也是我们计算机底层存储和处理信息时使用的基本单位。

八进制:

同理,八进制就是满八进一的进制运算,即八进制中只会出现0~7的数字,如今我们计算中使用到的八进制已经很少了,那么二进制转八进制 如 10 = 1010 = 0012。

十进制:

十进制就是我们平时使用的计数方式,这里我就不多加赘述了

十六进制:

十六进制就是基数为16的运算进制,满16进一,而且由于二进制表示数据的话,太过冗长,所以在程序中我们一般喜欢使用16进制。由于我们的阿拉伯数字个位最大为9 所以超过9的数字我们使用a、b、c、d、e、f来表示。而且java中十六进制要以0x或0X开头。如 0X12E

在我们了解进制后,我们随后需要学习的就是一个新的概念:补码

那么什么是补码呢?官方的定义为:一个整数的补码和其原码的形式是相同的,负数的补码是此数的绝对值的二进制形式,按位取反再加1。由此可见,二进制补码数值的最高位是符号位,0为正数,1为负数。实际上,计算机中,二进制的数值都是通过补码的形式表示的。主要的原因就是使用补码可以将符号位和其他位统一处理。为什么这么说呢?

我们要再次明确一个知识,就是计算机中只有加法,所谓的加法不过是加了 一个负数,而二进制补码是可以表示负数的,故在计算中使用二进制补码进行计算。对了 强调一点,如果两个用补码表示的数相加时,如果最高位有进位,则被舍弃。

好了,我们了解了进制后,我们就可以学习进制的转换了

进制转换实际上我们可以倒叙位进制的个次方相加,

如二进制的转换十进制即

1001.1 = 1*2^3+0*2^2+0*2^1+1*2^0+1*2^(-1) = 8+0+0+1+0.5=9.5

十进制转二进制 即 整数部分 除二取余,逆序排列;小数部分,乘二取余,顺序排列。

如 9.5, 这9/2= 4…….1; 4/2 =2…0;2/2 =1…0 ; 1/2=0….1 小数部分: 0.5 *2 = 1

1,01,001,1001 ,1001.1

好了,今天的分享到此结束,如有错误或不足之处,请大家留言评论。

文章来源:智云一二三科技

文章标题:java基础之进制转换

文章地址:https://www.zhihuclub.com/176892.shtml

关于作者: 智云科技

热门文章

网站地图