浅谈计算机采用二进制编码的合理性
第20卷第4期三 明 高 等 专 科 学 校 学 报年12月2003
Vol120 No14 J OU RNAL O F SAN M IN G COLL E GE Dec1 2003
浅谈计算机采用二进制编码的合理性
刘 鹏 林
()萍乡高等专科学校 数学系 , 江西 萍乡 337000
摘 要 :根据“最优化原理”和计算机元件的实现难易 ,论证了计算机采用二进制编码是最佳
的选择 。
关键词 :进位制 ;元件状态 ;最优化原理 ;单调性
() 中图分类号 : TP30116 文献标识码 :A文章编号 :1671 - 1343 200304 - 0070 - 03
() 为什么计算机中使用的各种数据 如 :字符 、图形 、音频 、视频图象及一切指令等都采用二
1 进制编码的形式
示? 普遍接受的理由是 : 二进制数每位数字的表示只需两种元件“状
态”,实现起来非常容易 。如电流的强与弱 、电压的高与低或电灯的亮与不亮等均可用来表示
这两种“状态”。显然 ,这不是问题的完整
。
根据最优化原理 ,计算机采用的进位制应遵循如下原则 : 在同样多的元件“状态”数条件
下 ,该进位制所表达的数的范围最大 。或者 ,在一定的计数范围内 ,该进位制所需元件状态数
( ) 最少 。我们以二 、三 、八 、十进位制表示数的范围与元件状态数的关系为例 见表 1 、2 、3 、4,从
中发现规律 。
表 1 二进制表示数的范围与元件状态数
() 位数能表示数的范围 数的个数需要的元件状态数
1 )( 1 ) ×2 = 2 个(1 0,2- 1 2 个数2 2 )(2 ×2 = 4 个 )(0,2- 1 2个数 2 3 3 )(3 ×2 = 6 个 )(0,2- 1 2个数 3
10 10 )( ) 10 (×2 = 20 个10 0,2- 1 2= 1024 个数11 11 )(11 ×2 = 22 个 )(0,2- 1 2= 2048 个数 11
14 14 )( 14 ) 14 ×2 = 28 个(0,2- 1 2= 16384 个数
20 20 )(20 ) (0,2- 1 2= 1048576 个数20 ×2 = 40 个
收稿日期 :2003206220
() 作者简介 :刘鹏林 1956 - ,男 ,江西萍乡人 ,萍乡高等专科学校数学系副教授 。
() 位数能表示数的范围 数的个数需要的元件状态数
1 )( 1 ) ×3 = 3 个(1 0,3- 1 3 个数 2 2 )(2 ×3 = 6 个 )(0,3- 1 3个数 2 3 3 )(3 ×3 = 9 个 )(0,3- 1 3个数 3
6 6 () 6 ) (×3 = 18 个6 0,3- 1 3= 729 个数7 7 )(7 ×3 = 21 个 )(0,3- 1 3= 2187 个数 7 8 8 )(8 ×3 = 24 个 )(0,3- 1 3= 6561 个数 8 9 9 )(9 ×3 = 27 个 )(0,3- 1 3= 19683 个数 9 10 10 )(10 ×3 = 30 个 )(0,3- 1 3= 59049 个数 10
13 13 )( 13 ) 13 ×3 = 39 个(0,3- 1 3= 1594323 个数
表 3 八进制表示数的范围与元件状态数
() 位数能表示数的范围 数的个数需要的元件状态数1 )( 1 ) (×8 = 8 个1 0,8- 1 8 个数 2 2 )(2 ×8 = 16 个 )(0,8- 1 8= 64 个数 2 3 3 )(3 ×8 = 24 个 )(0,8- 1 8= 512 个数 3 4 4 )(4 ×8 = 32 个 )(0,8- 1 8= 4096 个数 4 5 5 )(5 ×8 = 40 个 )(0,8- 1 8= 32768 个数 5
表 4 十进制表示数的范围与元件状态数
() 位数能表示数的范围 数的个数需要的元件状态数
1 )(1 ) (×10 = 10 个1 0,10- 1 10 个数 2 2 )(0,10- 1 10= 100 个数 )( 2 2 ×10 = 20 个 3 3 )(0,10- 1 10= 1000 个数 )(3 3 ×10 = 30 个 4 4 )(0,10- 1 10= 10000 个数 )( 4 4 ×10 = 40 个 5 5 )(0,10- 1 10= 100000 个数 )(5 5 ×10 = 50 个
们发现 ,随着数的范围的扩大 ,元件“状态”的个数也增加 ,但增长最慢的是三进制 ,其次
制 。即 :在元件状态个数大致相同的情况下 ,三进制表示的数的范围最大 ,二进制次之 ,
进制较小 。在表示的数的范围大致相近的情况下 ,三进制所需元件状态个数最少 ,二进
,十 、八进制较多 。
2 面就一般情况证明上述结论。
n n x 是进位制 , n 是数位 , 则 n 位 x 进制数能表示 0, x- 1 中的每一个数 , 共 x 个 。
71
l n u n ( ) ( ) 设 u x= x, 则 n = x > 1, 所需元件状态数 l nx
( )xl n u x( ) v x= nx = l nx
xl n u ( ) , 则设 f u , v , x= v -l nx
x 1 x f =′ 1 , f = ′- ? = -vu l nx u ul nx
1 l nx - x ( ) x 1 - l nx l nu = f =′ - l n u? x22( ( ) ) l nx l nx
f′ ( ) 1 - l n xl n u x 令 v= ′ - = -= 0 , 得 x = e 。x2 f′ ( ) l nx v
f′ ( ) ( )x1 - l n xl n u ul n x ul n u 1 - l n x 令 u = ′- =? == 0 , 得 x = e 。x2 f′ xxl nx ( ) l nx u
( ) ( ) ) ( ) ( )(
v xu x= e 是 v xu x5 x 与 的单调性知 , 的最小值点 , 是 的最大值点 见表
所以 , 符合最优化原理的进位制是 e 进制 。
( ) ( ) 表 5v x和 u x的单调区间 , 最值
x e )( ( ) 1 , e e , ?( )- 0 + v′x
( )( )v x 最小值 v e
( )+ 0 - u′x
( )( )u x 最大值 u e
然而 , e = 21718 不是整数 , 进位制计算无法实现 。再考虑与 e 接近的整数 3 和 2 , 虽然
三进制优于二进制 , 但三进制每位数上数字需三个元件状态 , 二进制却具有本文开始时所述的
优点 。这样 , 根据最优化原理及物理元件的实现难易 , 计算机采用二进制是最佳的选择 。
参考文献 :
1 谭浩强 . 计算机公共基础 M . 北京 :清华大学出版社 ,2002 .
2 复旦大学数学系 . 数学分析 M . 上海 :上海科学技术出版社 ,1978 .
[ 责任编辑 :叶 普 ]The Rea son on Computer Select f or Use Binary Coding
L IU Peng2lin ( )M at hs Depa rt ment , Pi ng x i an g Col lege , Pi ng x i an g 337000 , Chi n a
Abstract :According to“mat hs op timum value t heorem”and difficulty to apply element to t he co mp uter , p rove
t he best op tio n of t he co mp uter select for use binary coding.
Key words : carry system ; element state ; mat h op timum value t heorem ; mo not rop y of t he f unctio n