java劫富济贫之进制换算

青春壹個敷衍的年華 提交于 2020-02-07 23:49:34

在计算机的世界是只有0和1的数据存在的,它们只会识别二进制的数,所有的数都是换算成二进制的形式来使用的。人类是使用十进制的,并不方便使用二进制所以,就有了进制换算的问题出现。分别有二进制、八进制、十进制、十六进制。

我们先将把化为二进制的形式

十进制转二进制

我们通常用短除法来解决这类问题,因为二进制是逢二进一的所以用十进制的数短除二求每一步的余数,方法就是除2取余,逆序排列。至于为什么是余数呢?因为除得的余数就是二进制每位的1或0,就代表了每一位的数字。

具体做法是:

  1. 用2整除十进制整数,可以得到一个商和余数;
  2. 再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止;
  3. 然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
有点不美观^^原谅我

 

至于八进制转二进制就和十进制转二进制是一样的了,简单的八或十进制转换见下对照表

至于十六进制转二进制见下表,相信以你的只会是小kiss了

接下来我们看二进制如何转十进制

二进制转十进制

就是从右到左的顺序,依次用2*1或0^0,次方从0开始从左到右依次加1。

从上图可以看出有很多0所以可以进一步简化,0位都可以不加入计算。

直接上图

凉菜没有直接上

二进制转八进制

因为2^3=8所以分成三位一部分计算,不够八位在前面补0补够八位再分。

二进制转十六进制也是同样的道理

二进制转十六进制

因为2^4=16所以分成四位一部分计算,不够八位在前面补0补够八位在分。

 

离华山论剑又进一步!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!