笔记:二进制、八进制、十进制、十六进制的互相转换

简介: 二进制、八进制、十进制、十六进制的互相转换

二进制、八进制、十进制、十六进制的互相转换
在编程工作种,我们时常需要对不同的进制的数进行转换,以方便我们的工作、阅读和理解。在计算机领域,主要设计二进制、八进制、十进制和十六进制,下面我们就来讲讲这四种机制的整数相互转换方法。

一、查表法

就是我们制作一张包含各种进制的值一 一对应数值表,需要时查表就得,但是,我们知道,这不太现实,因为数是无穷的,我们不可能做一张无穷的表。在次但是,这也不是说查表法就不用了,其实我们一直在使用,你可能会说,没有,没见过,不对,有的,就在你的脑海里,我相信绝大部分程序员都有,比如,问你,(15)10对应的十六进制是多少,你肯定张口就答(F)16,为什么你能很快答出,是因为我们在日常工作和学习中,无形在脑海里建立了这张表。只是这张表很有限,更大的数你就不能一口答了,所以需要其他的转换方法,但是其他方法会用到查表法。

我们至少要建立起如下的一张表
1251433-20190619115517877-952996682.png

二、短除法

短除法运算方法是先用一个除数除以能被它除尽的一个质数,以此类推,除到商是质数为止。具体在我们的进制换算里,当一个M进制数转N进制数时,就是用这个数除N取余,逆序排列。具体做法是:将N作为除数,用M进制整数除以N,可以得到一个商和余数;保留余数,用商继续除以N,又得到一个新的商和余数;仍然保留余数,用商继续除以N,还会得到一个新的商和余数;如此反复进行,每次都保留余数,用商接着除以N,直到商为0时为止

下面举例:

十进制转二进制、八进制、十六进制
(10)10--->(x)2
1251433-20190619110857640-552494312.png

结果为(10)10--->(1010)2
(100)10--->(x)8
1251433-20190619111459792-1670179882.png

结果为(100)10--->(144)8 。
(100)10--->(x)16
1251433-20190619112126674-1945267978.png

结果为(100)10--->(64)16
八进制转二进制、十进制、十六进制
(27)8--->(x)2
1251433-20190619142519553-1844476525.png

结果为(27)8--->(10111)2

(27)8--->(x)10
首先查表得 (10)10<===>(12)8
有如下算式
1251433-20190619143238767-870505201.png

结果为(27)8--->(23)10
(756)8--->(x)16
首先查表得 (16)10<===>(20)8

               (E)16<===>(16)8

有如下算式
1251433-20190619114720010-2014322037.png

结果,(756)8--->(1EE)16

二进制转其他进制和十六进制转其他进制我就不一一举例了,通过上面的例子,我们可以看到用短除法我们是可以进行任意进制的相互转换的,同时我们也可以发现,将高进制向低进制(只限于这几种进制,我们姑且认为高低顺序为:二进制<八进制<十进制<十六进制)转换时,要先有一步进制基数的查表换算过程,在加上我们人对二、八、十六进制的四则运算不熟悉,所以这三种进制进行短除法换算比较困难。由于十进制的基数本身就是十六进制的数码,同时代表的量意义也一样,所以总的来说,短除法特别适合十进制向二、八、十六进制的转换。

相关文章
|
6月前
|
Python
十进制转二进制、八进制、十
十进制转二进制、八进制、十
二进制、八进制、十六进制
二进制、八进制、十六进制
129 0
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
|
机器学习/深度学习
二进制,八进制,十六进制之了解
为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数
121 0
二进制,八进制,十六进制之了解
|
机器学习/深度学习 程序员 C++
4、进制(二进制、八进制、十进制、十六进制)
4、进制(二进制、八进制、十进制、十六进制)
490 0
4、进制(二进制、八进制、十进制、十六进制)
|
Python
Python编程:二进制,八进制,十六进制与十进制之间的转换
Python编程:二进制,八进制,十六进制与十进制之间的转换
113 0
Python编程:二进制,八进制,十六进制与十进制之间的转换
二进制、八进制、十进制、十六进制前缀
二进制、八进制、十进制、十六进制前缀
318 0
C#(二)之十进制与二进制、八进制、十六进制之间的转换
所谓的进制,就是逢几进一的问题,生活中我们使用的是十进制,就是逢十进一。剩下的就不用多说了,下面开始一个一个来。
351 0
C#(二)之十进制与二进制、八进制、十六进制之间的转换
|
程序员
二进制、八进制、十六进制的应用对我们来说有什么现实意义?
二进制、八进制、十六进制的应用对我们来说有什么现实意义?