前言:
现在小伙伴们对“java 二进制转化为十进制”大约比较关切,姐妹们都想要了解一些“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
好了,今天的分享到此结束,如有错误或不足之处,请大家留言评论。