1. [笑话]所有进制都是10进制
人有十个手指头,这就奠定了人们常用的技术为10进制系统,数数就是这样:
1,2,3,4,5,6,7,8,9,10,11,12……
要是人一只手只有3个指头,数数就成了这样:
1,2,3,4,5,10,11,12,13,14……
其实还是10进制。
这副漫画描绘的很清楚:
2. 生活中的进制系统
可是生活中还有好多不一样的进制:
1km = 1000m, 1min = 60sec, 1day = 24hour, 1yard = 3ft, 1ft = 12inch
…………………………………………………………
计算机给我们带来了2进制,仅仅用0和1表示了所有的数,计算机这样数数:
1,10,11,100,101,110,111……
因此可以想想计算机只有两根手指头。
3.不安分的数学家
最不安分的是数学家,总结归纳了各种计数系统的规律,归纳出了一个通用的表达式:
(bnbn-1bn-2…b3b2b1b0.b-1b-2b-3…)N = ∑k=-∞…nbkNp (N为计数的进制,称之为“基”)
当N为正整数的时候,就被称为标准N进制系统,为了保证数值的唯一表示N进制系统每一位的数值都不能超过N。
因此就有无数种进制系统产生了。
最著名的要数3进制了。
以前看过一篇文章,说是计数进制使用基为e的进制得到的效率最高(如果存在的话),无奈e为无理数(e=2.718281828……),取较为接近的整数有出现了两种系统:2进制系统和3进制系统。现在2进制系统在计算机系统种占领了主导地位,但是3进制计算机也曾经被制造过。莫斯科国立大学就生产过Сетунь 70 三进制计算机,有兴趣的参看这里.
Сетунь 70 结构图,懂俄文的朋友帮忙翻译下了
如果单单如此还好,不安分的数学家Vittorio Grunwald于1885年首次把N变成了负数[Giornal di Matematiche di Battaglini 23(1885), 203~221, 367],他还说明了在这样的系统中如何执行四则运算,甚至讨论了如何求根。
一个简单的例子:
(1234567890)10 = (2846648290)-10
有兴趣的读者可以自行转换。
负进制系统在上世纪30年代以后有了较快的发展,上世纪50年代后期在波兰研制了叫做SKRZAT 1 和 BINEG 的实验性计算机,他们都采用了-2作为算术运算的进制系统。
如果说负进制系统还不能令人惊奇的话,在进制系统总引入复数则又达到了一个新高度。
例如2i进制系统可以产生出一个称为“虚4”的计数系统,它有异常的特性:每一个复数都可以不带符号地用数字0,1,2,3来表示,例如:
(12231)2i = (9-10i)10
在所有进制系统中,最美妙的应该是平衡三进制。
它是三进制的一种变形,用-1,0,1来表示各个位的权值,(据说Сетунь 70用的就是平衡三进制)它有许多有趣的性质:
a) 通过交换1和-1,就可以得到一个数的相反数
b) 一个数的正负号由他的最高位的非零的数给出
c) 四舍五入运算被简化成了截断运算
另外有个数学难题”Bachet重量问题”就可以通过平衡三进制来解决:
题目如下:现有一个天平,要称出1-N内所有整数重量的东西,最少需要几个砝码,每个砝码的重量是多少?
进制系统最登峰造极的高度是引入了无理进制,具体详情情参考W.Parry的论文[Acta Math. Acad. Sci. Hung. 11 (1960), 401~416]。
另外除了单一进制系统外还可以将计数方法推广为混合进制系统。
最重要的混合进制系统就是阶乘数系,另外我们每天都要面对的时间也是混合进制系统。