什么是数学:对特殊的1.8进制的简单研究

很久以前看到玛雅的数学的特殊的进位算法,又听同学说过进制上有使用e和Pi作为进制的,于是比较好奇的在老婆帮助选数后作了一个对1.8进制的小研究。其实说1.8进制和其它特殊进制法在日常生活中都不会用到,但是对于加密机制是一个新的机遇,我们可以通过对密码进行处理得到其对应的某些数字,然后将这些我们所熟悉的十进制数字转换为1.8进制或其它特殊进制,这样能起到一个简单加密的效果。

顾名思义,1.8进制就是每逢1.8进位的进制。一个十进制数仍然可以用短除法求取1.8进制的数,例如,十进制中的23在转换为1.8进制时的过程如下(这里我们允许余数为小数):
23/1.8 商12 余1.4
12/1.8 商6  余1.2
6/1.8  商3  余0.6
3/1.8  商1  余1.2
1/1.8  商0  余1.0
这时我们发现,在运算过程中余数会出现从0.1到1.7之间的小数或整数,又由于短除时我们发现,只有十进制数字0和1在1.8进制中会是其本身,所以我们利用十六进制的思想对每个小数所对应的符号进行如下规定: 0-0 0.1-2 0.2-3 0.3-4 0.4-5 0.5-6 0.6-7 0.7-8 0.8-9 0.9-A 1.0-1 1.1-B 1.2-C 1.3-D 1.4-E 1.5-F 1.6-G 1.7-H
这样,当我重新做上述运算的时候,就可以用字母代替小数:
23/1.8 商12 余E
12/1.8 商6  余C
6/1.8  商3  余7
3/1.8  商1  余C
1/1.8  商0  余1
这样,对于1.8进制,其23可表示为01C7CE。
当然,1.8进制数在转换成十进制数的时候仍然可以采用与二进制和十六进制相同的方法,即在1.8进制表示法中,每个位的位权都是1.8的幂数。例如:我们在将01C7CE转换为十进制数的时候按照上面短除的反运算,可以得出式子(1*1.8 4)+(1.2*1.8 3)+(0.6*1.8 2)+(1.2*1.8 1)+(1.4*1.8 0)=23。所以我们可以推出重要的对于1个n位1.8进制数转换为十进制数的转换公式:Dec=(D n*1.8 n-1)+(D n-1*1.8 n-2)+...+(D 2*1.8 1)+(D 1*1.8 0)

要说明的是,一般的,我们用把0和1放在首位的方法表示正负数的概念,且这一位只表示正负概念不参与任何运算,即一个负数的1.8进制表示最高位需为1;一个正数的1.8进制表示其最高位需为0。例如23的1.8进制表示为01C7CE,那么-23的1.8进制表示即为11C7CE。特殊的,我们规定0的1.8进制数为0,没有符号位。

值得注意的问题:
1.对于负数的1.8进制转化,要先求取该负数在十进制情况下的绝对值,然后转化为1.8进制数,并将符号位转化为1。
2.由于1.8是一个1位小数,所以对于任何整数和1位小数都可以实行转化,而对位数高于1位的小数由于其余数的可能性较多不予讨论转换,但可以由1.8进制数表示。
3.对于1.8进制的任何运算需转换为十进制后在十进制的数制下完成后再转换回1.8进制。
4.在数制之间转换时,十进制下的正负数均可与1.8进制下的正负数进行相互转化,而1.8进制的负数无法转化为二进制、八进制、十六进制下的数字。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值