16)接下来,我们来看看有哪些变化吧。
- 基数填写功能已经准备就绪。
- 逐位提取操作同样可用。
- 若想将特定字符利用lookup等函数转换成数字,如A=10,F=15,操作起来十分简便。
试试自己动手操作16进制的转换吧,亲索学习的东西往往印象更为深刻。
17)我们把基数调整为16,并使用hex2dec函数来处理E2、E3的函数,此功能主要针对不涉及A~F的16进制转换。
进行16进制转十进制的操作
18)后半部分针对A~F的16进制同样有效,试着补全前半部分看看结果是否一致?
接着转换10进制
19)好,我们先将我的公式写上。
为确保无误,还需加入容错处理。
20)增加容错机制是必要的步骤,这样可以避免因中间计算错误导致的问题。虽然这会使公式变得较长,但为了确保准确性,这是值得的。我建议多利用辅助单元格,这样可以简化复杂的计算过程,便于分步编写和排查错误。
21)对于60进制的转换,我们可以使用0至9以及25个大写字母和小写字母进行编制。虽然工作量增加,但用于加密的效果应该不错。为了防止混淆,下面我们探讨一下如何将十进制转换为其他进制。有了十进制作为桥梁,所有进制之间就可以相互转换了。
采用辗转相除法进行转换
22)新建一个工作表,将A1单元格设为输入的十进制数,B2单元格设为基数。我们使用除基数取余的方法进行进制转换。在A2单元格输入“=int(A1/B2)”,并向下填充。
接下来是辗转取余的操作
23)在B2单元格输入公式“=mod(A1,B2)”,并向下填充。
十进制到二进制的转换
24)在C1单元格输入concatenate函数,将余数依次串接起来,形成标准的16位二进制数。
随意输入一个数值试试
25)比如输入数值10922,然后用前面做好的二进制到十进制转换器验证一下结果。
改变基数为8进行验证
26)将B1的基数改为8,并使用oct2dec函数进行验证。不过需要注意的是,可能需要删除几个前导0。
再谈一下十进制到十六进制的转换
27)把B1的基数调整为16。因为在16进制中,10对应A,我们选择一个单元格输入“=hex2dec("2AAA")”,结果为10922,验证正确。
0到15的十六进制表示
28)现在我们要把十进制的0到15转换成十六进制的0到F。按照上图的公式操作,并向下填充。现在十六进制转换器已经完成了。
从十进制到其他进制的转换
29)这个转换器对低于16进制的数都有效,你可以验证一下。
增加其他进制数的转换
30)若需增加其他进制数,只需增加相应的字符翻译数量即可。
利用Excel的现成公式
31)当然可以利用Excel自带的函数。由于16是2的4次方,所以每次提取一位16进制数就相当于提取四位二进制数。在C2单元格输入“=hexbin(B2,4)”,并向下填充。然后将二进制数使用concatenate函数连接起来。我们还可以将参数4放在一个单元格中,将16用2^4来表示。类似地,对于其他进制数我们也可以使用类似的方法来加速转换。
<p