第十四讲 从数的二进制谈起
在即将进入21世纪的今天,电子(数字)计算机内部数的存贮和计算采用二进制已是众所周知的事了. 据学者考证,中国在公元前2000多年的伏羲氏发明的八卦,即用—和--两种符号拼出来的。
如果把—看成1,把--看成0,那么上述八卦可以翻译成二进制数(列于下面)。
但是人类历史进程表明,二进制大约被人类冷落了近四千年(在此期间一直重视和使用十进制),直到20世纪40年代,科学技术的整体水平(有了无线电通讯、雷达技术和真空管、继电器等电子元器件)进一步提高,再加上反法西斯战争需要发明原子弹(原子弹许多设计数据不能事先在实验室测出,而必须靠理论计算,而计算量超过人类有史以来全部算术运算),著名数学家冯·诺伊曼(J.von Neumann)和另一些年轻数学家发明制成了称之为ENIAC 的通用电子数字计算机(用18000支真空管,1500个继电器,几十万电阻电容,自重30吨,耗电200千瓦). 直至今日,电子计算机主要还是冯·诺伊曼体系. 告诉大家这一些历史,主要说明我们不能停留在为祖先最早发明了二进制而自豪这一步,还要看到数学大有用武之地,但要与经济建设和科学技术广泛结合才能起大的或巨大的(如电子计算机)作用. 下面看二进制本质到底是什么?
人类天生双手十指. “搬着手指头”计数,是每个人幼时必经之路. 十进制数有两大内涵. 一是有十个不同数符:0,1,2„9;二是“逢十进一”的进位法则,有个、十、百、千等自右向左的数位. 倘若人类双手八指,也许地球上今日该流行八进制了. 所以二进制也有两大内涵. 一是有两个不同数符:0,1;二是“逢二进一”. 其实,我们已见过非十进制的事物,一年十二个月,十二进制;一周七天,七进制;一小时六十分,一分六十秒,六十进制;一英尺等于十二英寸(电视机常说20英寸,21英寸),十二进制;一副三角尺含2块,一双鞋含2只,一双袜子含2只,一双筷子含2根,这些都可看成二进制. 一个十进制数1993可表述为:
1993=1000+900+90+3=1×103+9×102+9×
10+3
+a3×103+a2×102+a1×10+a0
其中0≤ai ≤9,而i 是0到n 中的一个整数。
再回到二进制. 大家知道:数是计算物体的个数而引进的,0代表什么也没有,有一个,记为“1”;再多一个,记为“10”(在十进制下记为2);比“10”再多一个,记为“11”. 依次类推,我们很容易接受(或自己发明)二进制下,从小到大的数列,不妨列表:
为了不引起混淆,我们把二进制数右下角标一个2,如:
(10)2=(2)10,或省略括号,省略十进制标记,略为:
102=2,或(10)2=2,11112=15
和十进制对数位有一省略名字一样,二进制的数位也可称呼:
例如:1993=1024+512+256+128+64+8+1,写成二进制为:
0×4+0×2+0×1=(88)10
因而二进制的数化为十进制,只要读出二进制各数位累加即可,如N =(bnbn-1bn-2„b2b1b0)2则有N=(bn ×2n +bn-1×2n-1+bn-2×2n-2+„+b2×22+b1×21+b0)10
难度大的是怎样较快地把一个十进制数化为二进制数. 还以1993为例,前面的方法是先找出二进制的高位数字,记熟了2的各种幂次(a 的n 次幂表示n 个a 相乘,记为an ),找到不超过1993的最大的2的幂,是210=1024,得b10=1,再找不超过(1993-210)的最大的2的幂,是29=512,得b9=1,依次类推得b8,b7„b2,b1,b0. 这是由高位到低位逐渐推得的方法。
现在设法自低位到高位,先找b0. 显然,十进制偶数,b0=0,十进制奇数b0=1,所以b0是N 除以2的余数. 再说b1,因为N=bn×2n +„+b2×22
第十四讲 从数的二进制谈起
在即将进入21世纪的今天,电子(数字)计算机内部数的存贮和计算采用二进制已是众所周知的事了. 据学者考证,中国在公元前2000多年的伏羲氏发明的八卦,即用—和--两种符号拼出来的。
如果把—看成1,把--看成0,那么上述八卦可以翻译成二进制数(列于下面)。
但是人类历史进程表明,二进制大约被人类冷落了近四千年(在此期间一直重视和使用十进制),直到20世纪40年代,科学技术的整体水平(有了无线电通讯、雷达技术和真空管、继电器等电子元器件)进一步提高,再加上反法西斯战争需要发明原子弹(原子弹许多设计数据不能事先在实验室测出,而必须靠理论计算,而计算量超过人类有史以来全部算术运算),著名数学家冯·诺伊曼(J.von Neumann)和另一些年轻数学家发明制成了称之为ENIAC 的通用电子数字计算机(用18000支真空管,1500个继电器,几十万电阻电容,自重30吨,耗电200千瓦). 直至今日,电子计算机主要还是冯·诺伊曼体系. 告诉大家这一些历史,主要说明我们不能停留在为祖先最早发明了二进制而自豪这一步,还要看到数学大有用武之地,但要与经济建设和科学技术广泛结合才能起大的或巨大的(如电子计算机)作用. 下面看二进制本质到底是什么?
人类天生双手十指. “搬着手指头”计数,是每个人幼时必经之路. 十进制数有两大内涵. 一是有十个不同数符:0,1,2„9;二是“逢十进一”的进位法则,有个、十、百、千等自右向左的数位. 倘若人类双手八指,也许地球上今日该流行八进制了. 所以二进制也有两大内涵. 一是有两个不同数符:0,1;二是“逢二进一”. 其实,我们已见过非十进制的事物,一年十二个月,十二进制;一周七天,七进制;一小时六十分,一分六十秒,六十进制;一英尺等于十二英寸(电视机常说20英寸,21英寸),十二进制;一副三角尺含2块,一双鞋含2只,一双袜子含2只,一双筷子含2根,这些都可看成二进制. 一个十进制数1993可表述为:
1993=1000+900+90+3=1×103+9×102+9×
10+3
+a3×103+a2×102+a1×10+a0
其中0≤ai ≤9,而i 是0到n 中的一个整数。
再回到二进制. 大家知道:数是计算物体的个数而引进的,0代表什么也没有,有一个,记为“1”;再多一个,记为“10”(在十进制下记为2);比“10”再多一个,记为“11”. 依次类推,我们很容易接受(或自己发明)二进制下,从小到大的数列,不妨列表:
为了不引起混淆,我们把二进制数右下角标一个2,如:
(10)2=(2)10,或省略括号,省略十进制标记,略为:
102=2,或(10)2=2,11112=15
和十进制对数位有一省略名字一样,二进制的数位也可称呼:
例如:1993=1024+512+256+128+64+8+1,写成二进制为:
0×4+0×2+0×1=(88)10
因而二进制的数化为十进制,只要读出二进制各数位累加即可,如N =(bnbn-1bn-2„b2b1b0)2则有N=(bn ×2n +bn-1×2n-1+bn-2×2n-2+„+b2×22+b1×21+b0)10
难度大的是怎样较快地把一个十进制数化为二进制数. 还以1993为例,前面的方法是先找出二进制的高位数字,记熟了2的各种幂次(a 的n 次幂表示n 个a 相乘,记为an ),找到不超过1993的最大的2的幂,是210=1024,得b10=1,再找不超过(1993-210)的最大的2的幂,是29=512,得b9=1,依次类推得b8,b7„b2,b1,b0. 这是由高位到低位逐渐推得的方法。
现在设法自低位到高位,先找b0. 显然,十进制偶数,b0=0,十进制奇数b0=1,所以b0是N 除以2的余数. 再说b1,因为N=bn×2n +„+b2×22