计算机基础:二进制基础18,十六进制加法

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础17,八进制减法

回到目录

下一篇:计算机基础:二进制基础19,十六进制减法

(二)MFC 专栏导航

上一篇:计算机基础:二进制基础17,八进制减法

回到目录

下一篇:计算机基础:二进制基础19,十六进制减法

本节前言

在上一节,我们讲解了八进制减法。这一节,我们来讲十六进制加法。

关于十六进制数,我们经常需要去回忆十六进制里面,A 到 F 与十进制数的对应关系。

在这里,我还是将这个表格给贴出来。

十六进制ABCDEF
十进制101112131415

后面的讲解中,有可能,大家随时需要对照这个表格。到时候,你自己随时来对照吧。

我们往下进行。

一.    十进制加法与十六进制加法

当初,我们学习十进制的加法的时候,我们都是用列竖式的方法来计算的。个位与个位相加,是为与十位相加,百位与百位相加,等等。然后呢,还会涉及进位的问题。个位相加,如果得数大于或等于10 的时候,还要向十位进 1 。十位相加的时候,如果得数大于或等于10 的时候,还要向百位进 1 。

十六进制加法,与此类似。

对于两个三位的十六进制数的加法,它是说,两个数的位0 与位0 相加,位1 与位1 相加,位2 与位2 相加。每一位在计算出了本数位的得数的时候,如果大于或等于 16,也就是十六进制的 F,还要向高位进1 。位0 与位0相加,如果得数大于或等于 16,则要向 位1 进1 。位1 与位1 相加,如果得数大于或等于 16,则要向位2 进1 。位2 与位2 相加,如果得数大于或等于 16,则要向 位3 进1 。

如果是四位,八位,十六位,三十二位的两个八进制数的加法,依照上面的方法类推就可以了。

两个十六进制数相加,它的法则是,从最低位开始,相同数位的两个数,做对应的加法。如果相加的和大于或等于 16,还要向高位进1 。最低位做完了加法,再作次低位。就这样地,从低位到高位,一个一个位地,去作加法。

二.    单独一位的两个八进制数的加法

我们来看一看两个十六进制数的加法。

0x1 + 0x2,结果为 3 。

0x3 + 0x4,结果为 7 。

以上的两个十六进制数的加法,都是得数不满 16 。

如果是得数大于或等于 16,要怎么做呢?

0xB + 0x6 = 11 + 6 = 17 = 16 + 1,结果是,本位为 1,并向上进 1 。

0x3 + 0xD = 3 + 13 = 16 = 16 + 0,结果是,本位为 0,并向上进 1 。

0x9 + 0xA = 9 + 10 = 19 = 16 + 3,结果是,本位为 3,并向上进 1 。

对于两个十六进制数的加法,可以先将其当做十进制数,然后呢,计算出十进制的结果。如果结果大于或等于十进制的 16,则将其化为 16 + x 的形式。结果就是,本位为 x,并向上进 1 。

知识讲解部分,大致就算是结束了。接下来,我们来看几个例题。

三.    例题

例题1

计算 0x54A + 0x3BE

位0 的情况,0xA + 0xE = 10 + 14 = 24 = 16 + 8 。结果是,位0 为8,向上进位。

位1 的情况,0x4 + 0xB,由于位0 有进位,所以,原本的 0x4 + 0xB 变为 0x5 + 0xB 。0x5 + 0xB = 5 + 11 = 16 = 16 + 0 。结果是,位1 为 0,向上进位。

位2 的情况,0x5 + 0x3,由于位1 有进位,所以,原本的 0x5 + 0x3 变为 0x6 + 0x3 。0x6 + 0x3 = 9 。结果是,位2 为9,无进位。

小结一下,位2 为9,位1 为 0,位0 为 8 。所以呢,计算结果为,0x908 。

例题2

计算 0x647 + 0xC6E

位0 的情况,0x7 + 0xE = 7 + 14 = 21 = 16 + 5 。结果是,位0 为5,向上进位。

位1 的情况,0x4 + 0x6 。由于位0 有进位,所以,原本的 0x4 + 0x6,变为 0x5 + 0x6 。0x5 + 0x6 = 11 = 0xB 。结果是,位1 为 B,无进位。

位2 的情况,0x6 + 0xC 。位1 无进位,0x6 + 0xC = 6 + 12 = 18 = 16 + 2 。结果是,位2 为2,向向进位。

小结一下,两个十六进制数都是三位的,最高有效位是位2,无位3 。然而,由于本次的位2 加法,有进位,所以呢,位3 为1 。其余位的情形,位2 为 2,位1 为 B,位0 为 5 。所以呢,计算结果为,0x12B5 。

这两个例题,我想,应该是足够了。

结束语

本节结束。

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础17,八进制减法

回到目录

下一篇:计算机基础:二进制基础19,十六进制减法

(二)MFC 专栏导航

上一篇:计算机基础:二进制基础17,八进制减法

回到目录

下一篇:计算机基础:二进制基础19,十六进制减法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值