日常生活中,我们最熟悉的数据就是十进制计数。它的数值部分由十个不同的数字符号0、1、2、3、4、5、6、7、8、9来表示,我们把这些数字符号叫做数码,表示十种不同的状态。数码处于不同的位置(或数位)代表的意义是不同的。例如,同样一个3,放在十位上表示30,放在百位上则表示300。又如在1997.15这个数中,小数点左边的7代表个位,表示它本身的数值;左边第二位代表十位,表示9×10;左边第三位是百位,表示9×100;左边第四位是千位,表示1×1000;而小数右边第一位表示1×1/10;右边第二位表示5×(1/100)。因此这个数可以写成:
1997.15= 1×103+9×102+9×101+7×100+1×10-1+5×10-2
一般地,任意一个十进制s(为方便起见假设为正数)都可表示为:
S = kn-1(10)n-1+kn-2(10)n-2+kn-3(10)n-3..+k1(10)1+k0(10)0
+k-1(10)-1+...+k-m(10)-m =对j界于-m到+n之间的所有KJ×(10)J求和。
其中kj可以是0,1,2,3,4,5,6,7,8,9十个数码中的任一个数码,它由s决定;m,n为正整数,表示整数部分共有n位,小数部分共有m位。括号内的10称为计数制的基数。
我们所说的进位计数制简称进位制,就是说它是按进位的方式计数的。所谓某进位制的基数,就是在该进位制中可能用到的数码个数。当基数为十,每位计满十向高位进一,即“逢十进一”,这种进位制就是十进制。除了十进制数,生产和生活中还会遇到一些非十进制的数。比如时间,60秒为1分,60分为1小时,它是六十进制的;再如通常所说的“一打铅笔”,就是12支,它是十二进制的。特别是基数为2的进位制,即二进制,是电子计算机中广泛采用的进位制数据。
二进制数的每个数位只可能取两个不同的数码“0”和“1”,而且是“逢二进一”。为了熟悉二进制数的表示,我们就几个简单的数字,列出二进制数与其对应的十进制数。
例:11011.011
(11011.011)2
=1×24 + 1×23 + 0×22 + 1×21 + 1×20 +0×2-1 + 1×2-2 + 1×2-3
=1×16+1×8+0×4+1×2+1×1+0×0.5+1×0.25+1×0.125
=16 + 8 + 2 + 1 +0.25 + 0.125
=(27.375)10
正如十进制数据中最大的数码是9一样,在二进制数据中最大的数码是1。也就是说,在二进制数数据中,不能出现2或者比2大的数码;否则就是错误的数据。这一点初学者尤其应该注意。
由于二进制数每个数位只取两个不同的数码“0”和“1”,因此能够比较容易地在电子计算机中表示。例如我们以低电平(没有电)表示0,以高电平(有电压)表示1,是比较容易实现的,而且误码率很低。
二进制数的每一位只有0和1两个状态,能够与逻辑运算结果的两个状态“假”和“真”对应。也就是说,利用二进制数能够比较理想地通过计算机实现逻辑运算。
正是由于二进制数在计算机上的可行性、简易性、逻辑性和可靠性特点,使得科学家选用二进制数作为计算机内部标准数值。也就是说,尽管计算机可以输入输出十进制数字和字符串信息,但计算机内部存储、处理和传输的都是二进制数据。