专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:计算机基础:二进制基础11,十六进制的位基和位权
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:计算机基础:二进制基础11,十六进制的位基和位权
回到目录
下一篇:无
本节前言
上一节,。我们讲解了十六进制的位基与位权,也讲解了求解一个十六进制整数所对应的十进制数
本节,我们来讲解如何将一个十进制数转换为一个十六进制数。
本节内容,你可以参考本系列的前面的一篇文章,文章连接如下。
计算机基础:二进制基础04,十进整制数转化为二进制整数-CSDN博客
好了,我们开始本节的讲解。
一. 短除法
对于短除法,有的人可能接触过。有的人,可能没有接触过。假定,你没有接触过短除法。
我们先来看一看一般的除法。
一般的除法,使用的是下面的符号。

短除法,使用的是另外的符号。短除法的运算符号如下图所示。

我们先来做一个简单的短除法,大家由此来体会短除法的使用方法。

图3演示的,是19除以7的计算式。我们知道,19除以7,被除数是19,除数是7,商是2,余数是5。
在图中,我们看到,被除数位于短除法符号所包着的位置。除数位于左边,商位于横线下面,余数位于右边,且和短除法符号隔开一点距离。
短除法还可以连用。连用的方法,我们在下一分节来演示。
在这里,我们所看到的,是短除法的基本的使用方法。
二. 十进制转换为十六进制
在演示具体的运算过程之前,我还是将十六进制的 A 到 F 与十进制的对比表格列出来。
十六进制 | A | B | C | D | E | F |
十进制 | 10 | 11 | 12 | 13 | 14 | 15 |
然后呢,我们来看一个例题。

图4里面,就是连续使用短除法的例子。首先呢,用被除数 61340 除以 16,结果呢,商为 3833,余数为 12,十进制的 12 对应着十六进制的 C 。商 3833 写在被除数 61340 的下面,余数 12 写在被除数 61340 的右边,十进制余数 12 所对应的十六进制 C 写在最右边。
接下来,上一步的商 3833 作为新的短除法的被除数,然后呢,除数依旧是 16。3833 除以 16,商为 239,余数为 9 。商 239 写在 被除数 3833 的下面,余数 9 写在被除数 3833 的右边 。
接下来,上一步的商 239 作为新的短除法的被除数,除数仍旧为 16 。239 除以 16,商是 14,余数是 15,十进制的 15 对应着十六进制的 F 。商 14 写在被除数 239 的下面,余数 15 写在被除数 239 的右边,十进制余数 15 所对应的十六进制数 F 写在最右边。
接下来,上一步的商 14 作为新的短除法的被除数,除数依旧为 16 。14 除以 16,商是 0,余数是 14,十进制的 14 对应着十六进制的 E 。商 0 写在被除数 14 的下面,余数 14 写在被除数 14 的右边,十进制余数 14 所对应着的十六进制数 E 写在最右边。
当商为0的时候,连续短除法结束。
当短除法结束的时候,我们将余数连起来。
首先呢,准备好一个新的记录数字的地方。
将最下面的余数写在新纪录位置的最左边。然后呢,将第二最下面的余数写在新纪录位置里,从左数的第二个数位上。然后呢,将第三下面的余数,写在新纪录位置从左数的第三个数位上。依次类推,直到我们将最上面的余数写在最右边为止。
注意,我们在连续短除法中,遇到过同一个余数的两种表达方式,十进制与十六进制。比如说,61340 除以 16,余数的十进制形式 为 12,余数的十六进制形式为 C 。连续短除法中,我们将这两种都给标记出来了。然而,在自下而上,连缀余数的时候,我们要连接的,是十六进制的形式。
因此,对于 61340 连续短除 16 的运算,余数连接的结果为 EF9C 。
我们将 EF9C 视为一个十六进制数,并加上前缀【0x】,则【0xEF9C】便是十进制数 61340 对应的十六进制数。
像这种地,使用连续短除法,将一个待转换的十进制整数,每次都除以 16,待到商为 0 的时候结束短除,从下往上,依次连缀余数,以求得对应的十六进制数的方法,叫做除 16 取余法。
注意,除 16 取余法的停止短除的条件是:商为 0
通过使用除 16 取余法,可以将任意的一个十进制数,转换为十六进制数。
三. 除 k 取余法
我们在学习二进制的时候,我们学习了,用除 2 取余法,将十进制数转换为二进制数。
我们在学习八进制的时候,我们学习了,用除 8 取余法,将十进制数转换为八进制数。
在本节,我们学习了,用除 16 取余法,将十进制数转换为十六进制数。
其实,我们也可以将类似的方法推广开来。比如说,用除 9 取余法,可以将十进制数转换为九进制数。用除 6 取余法,可以将一个十进制数转换为六进制数。
除2取余法,除8取余法,除16取余法等等的方法,均是将一个十进制转换为某一进制数的方法。我们将这类方法,统称为除 k 取余法。
k 等于多少,则连续短除法中,连续除以的数,便是多少,最终转换的进制,也会是这个除数。
除 2 取余法,得到的是二进制数。
除 3 取余法,得到的是三进制数。
除 8 取余法,得到的是八进制数。
除 k 取余法,得到的是 k 进制数。
四. 一个例题
之前,在讲解二进制和八进制的时候,我都是设置了两个例题的。这次,我偷个懒,只设置一个例题。
例题1 将十进制数 39617 转为十六进制数

由图5可知,十进制数 39617 对应的十六进制数是 9AC1。
将结果加上十六进制前缀【0x】,则最终的结果为 0x9AC1 。
例题2 将十进制数 29637 转换为十六进制数

由图5可知,十进制数 29637 对应的十六进制数是 73C5。
将结果加上十六进制前缀【0x】,则最终的结果为 0x73C5 。
结束语
到了这里,本节就结束了。同时,对于十六进制数的讲解乃至对于整个的二进制,八进制和十六进制的讲解,已接近尾声。
希望大家能够学好进制的基础知识。
下一节,我们将结束进制的学习。
专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:计算机基础:二进制基础11,十六进制的位基和位权
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:计算机基础:二进制基础11,十六进制的位基和位权
回到目录
下一篇:无