1.1.1 进位制
进位制是一种计数方式,亦称进位计数法或位值计数法.利用这种计数方式,可以使用有限种数字符号来表示所有的数值.一种进位制中可以使用的数字符号的数目称为这种进位制的基数或底数.若一个进位制的基数为n,即可称之为n进位制,简称n进制.现在最常用的进位制是十进制,这种进位制通常使用10个阿拉伯数字(即0~9)进行计数.也常用十二进制,用于计算时辰、月份、一打物品.用于计算时间秒、分,使用六十进制.
在信息技术领域,通常用二进制、八进制、十六进制.二进位制通常使用2个阿拉伯数字(即0和1)进行计数.八进制通常使用8个阿拉伯数字(即0~7)进行计数.十六进制通常使用10个阿拉伯数字(即0~9)和6个英语字母(A~F)进行计数.
可以用不同的进位制来表示同一个数.例如,57,一般看成十进制数57,为了区分其他进制的数,可以记成57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),同时也可以用八进制表示为71(8),亦可用十六进制表示为39(16),它们所代表的数值都是一样的.这是因为有如下的关系式.
57(10)=5×101+7×100
=1×25+1×24+1×23+0×22+0×21+1×20
=2×52+1×51+1×50
=7×81+1×80
=3×161+9×160
一般来说,b进制有b个数字,如果a3,a2,a1,a0是其中四个数字,那么就有
a3a2a1a0=a3×b3+a2×b2+a1×b1+a0×b0
其中,a3a2a1a0表示一个数字序列,而不是数字的相乘.
从上面的叙述中,不难得出以下结论:
(1)一个数的某种进制的表示形式是唯一的.
(2)不同的进制表示形式可以相互转换.
(3)转换的方法采用除法,一个数除以b,则可以得到最低位;商数除以b,则可以得到次低位,重复用商数除以b,则可以得到全部位.
(4)在编写程序时,大整数的表示也可以采用一个数组来存储表示这个数的数字序列.