> 二进制_八进制_十进制_十六进制之间的转换算法
这是一个关于进制换算方法的文档,有兴趣的朋友可以看一看。
熟记以下排列,其实很Easy了,从右往左,依次是前一个数的2倍: 二进制转十进制就更简单了, 怎么样,够简单够快了吧,希望对大家有帮助 |
在Excel中,列的名称是这样一个递增序列:A、B、C、…、Z、AA、AB、AC、…、AZ、BA、BB、BC、…、BZ、CA、…、ZZ、AAA、AAB…。
我们需要将上述列名序列和以下自然数序列相互转换:1、2、3、…。
经过分析,我们不难发现,这是一个26进制和十进制相互转换的问题。序列A-Z依次对应序列1-26。进制转换的基本办法就是“取余法”,换算规则如下:
于是,我们就知道该如何设计一个十进制转换为26进制的算法了。
Step1.[取余] 用指定自然数n除以26,得到一个余数m。如果m = 0,置m←26。Step2.[转换为字符] 将m映射为字符c,映射规则是{1-26}->{A-Z}。然后将c拼接到26进制值s的左边,也就是置s←c +
按照上述思想,26进制转换为十进制的过程正好是相反的,而且实现起来也更为简单,在此不述。