1.2.1 数制的基本概念

在计算机内部,数值数据的表示方法有两种。一种是直接用二进制数来表示,另一种是采用二进制编码的十进制数(Binary Coded Decimal Code,BCD Code)来表示。

数制也称为计数制,是用一组固定的符号和统一的规则来表示数值大小的方法。除了现实中用到的十进制外,在计算机科学当中还会用二进制、八进制、十六进制来表示一个数据,但在计算机内部的数据都需要转换为二进制数进行传输和存储,所谓的二进制就是用符号“0”和“1”来表示不同类型的数据。常见数制的表示方法见表1-1。

表1-1 常见数制的表示方法

进制中有一个规则,就是N进制一定采用“逢N进一”的进位规则。如十进制“逢十进一”,二进制是“逢二进一”。除此之外,如24h为1d是二十四进制,60s为1min是六十进制。

进位计数制中的每个数码的数值不仅取决于数码本身,其数值的大小还取决于该数码在数中所处的位置,例如,十进制数741.21,整数部分的第一个数码“7”代表的是700,第二个数码“4”代表的是40,第三个数码“1”代表的是个位数1,在小数部分第一位数码“2”是十分位0.2,第二位“1”是百分位0.01。也就是说,相同的数码在不同的位置代表的数值不一样,数码在一个数中的位置称为数制的数位;数制中数码的个数称为数制的基数,十进制有0~9十个数码,二进制有0、1两个数码。

无论是何种进位计数制,数值都可以写成权值展开式的形式,如十进制数741.21可写成741.21=7×102+4×101+1×100+2×10-1+1×10-2

上式是十进制数的权值展开式,是一个多项式加法的形式,二进制数也可以按照这种方法展开。例如二进制数(110.1)2=1×22+1×21+0×20+1×2-1

从表1-1可以看出,在表达不同进制的数时,要把进制的基数加上。常见的进制表示方法有两种,一种是用大写的英文字母表示(见表1-1),如101010B;另一种是用阿拉伯数字来表示,如(100)10为十进制数,(100)2为二进制数。计算机数制转换查询见表1-2。

表1-2 计算机数制转换查询表