1.数制的概念
(1)进位计数制 用数字符号排列,由低位向高位进位计数的方法称作进位计数制。一种进位计数制包含一组数码符号和两个基本因素。
①数符:一组用来表示某种数制的符号。
②基数:数制所使用的数码个数,用R表示,称R进制。进位规律是“逢R进一”,如十进制的基数是10,则“逢十进一”。
③位权:某个数字在某一个固定位置上所代表的值,处在不同的位置所代表的值也是不同的。
对于任意一个具有 n 位整数和 m 位小数的 R 进制数 N ,按各位的权展开表示如下。
( N ) R = a n-1 R n-1 + a n-2 R n-2 +…+ a 1 R 1 + a 0 R 0 + a -1 R -1 +…+ a -m R -m
【例1-1】(9578) 10 =9×10 3 +5×10 2 +7×10 1 +8×10 0
(2)常用进位计数制的表示方法 计算机中通常使用的数制有十进制、二进制、八进制和十六进制。常用的进位计数制的表示方法有圆括号下标法和字母表示法。
①圆括号下标法:将数用圆括号括起来,将基数写在右下角标。
【例1-2】(1101) 2 、(167) 16
②字母表示法:在数字后面加一个英文字母表示该数所用的数制。十进制用D表示,二进制用B表示,八进制用O表示,十六进制用H表示。
【例1-3】1001B、188D、56O、167H
(3)计算机中常用的进位计数制
①十进制(decimal):基数是10,它有10个数字符号,即0、1、2、3、4、5、6、7、8、9。逢十进一。
【例1-4】(2580) 10 =2×10 3 +5×10 2 +8×10 1 +0×10 0
②二进制(binary):基数是2,它只有两个数字符号,即0和1。逢二进一。
【例1-5】(1010) 2 =1×2 3 +0×2 2 +1×2 1 +0×2 0 =(10) 10
③八进制(octal):基数是8,它有8个数字符号,即0、1、2、3、4、5、6、7。逢八进一。
【例1-6】(1007) 8 =1×8 3 +0×8 2 +0×8 1 +7×8 0 =(519) 10
④十六进制(hexadecimal):基数是16,它有16个数字符号,除了十进制中的10个数可用外,还使用了6个英文字母,即0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A~F分别代表十进制数的10~15。逢十六进一。
【例1-7】(BAD) 16 =11×16 2 +10×16 1 +13×16 0 =(2989) 10
计算机中常用的进位计数制表示如表1-2所示,常用数制的对应关系如表1-3所示。
表1-2 计算机中常用的进位计数制的表示
表1-3 常用数制的对应关系
2.数制间的转换
(1)二进制、八进制、十六进制数据转换成十进制数据 将一个非十进制数转换成十进制数,只要将它写成按权展开的表达式,然后求出表达式的值。
【例1-8】将二进制数101.01转换成十进制数。
(101.01) 2 =1×2 2 +0×2 1 +1×2 0 +0×2 -1 +1×2 -2 =(5.25) 10
【例1-9】将八进制数12.6转换成十进制数。
(12.6) 8 =1×8 1 +2×8 0 +6×8 -1 =(10.75) 10
【例1-10】将十六进制数2AB.6转换成十进制数。
(2AB.6) 16 =2×16 2 +10×16 1 +11×16 0 +6×16 -1 =(683.375) 10
(2)十进制转换成二进制、八进制、十六进制
①将十进制数转换成二进制数:整数部分和小数部分分别转换,然后合并。整数部分除以2取余数,结果逆序输出;小数部分乘以2取整数,结果顺序输出。
【例1-11】将十进制数36.6875转换为二进制数。首先用除2取余法,将整数部分(36) 10 转换为二进制整数。
所转换的结果为(36) 10 =(100100) 2 。然后用乘2取整法,将小数部分(0.6875) 10 转换为二进制形式。
所转换的结果为(0.6875) 10 =(0.1011) 2 ,因此(36.6875) 10 =(100100.1011) 2 。
②将十进制数转换成八进制数和十六进制数:整数部分和小数部分分别转换,然后再合并。八进制整数部分:除以8取余,逆序输出;小数部分:乘以8取整,顺序输出。同样的,十六进制是除以16取余,乘以16取整。
【例1-12】将(171.71875) 10 转换为八进制数。
(171) 10 转换为八进制(253) 8 ,(0.71875) 10 转换为八进制(0.56) 8 ,结果为(171.71875) 10 =(253.56) 8 。
(3)二进制数与八进制数相互转换 将二进制数转换成八进制数,方法为:以小数点为基准,整数部分从右向左,小数部分从左向右,每三位一组,不足三位时,整数部分在高端以0补齐,小数部分在低端以0补齐。然后,把每一组二进制数用一位相应的八进制数表示,小数点位置不变,即得到八进制数。
【例1-13】(11100.1011) 2 =(34.54) 8
将八进制数转换成二进制数的方法则是一个相反的过程,即把八进制数中的每一位数都用相应的三位二进制数来代替。
【例1-14】(27.16) 8 =(10111.00111) 2
(4)二进制数与十六进制数相互转换 从二进制数转换为十六进制数,是以4位二进制数为一组进行转换。
【例1-15】(11100.10111) 2 =(1C.B8) 16
相反的,将十六进制数转换为二进制数,只要把每一位数对应写成4位二进制数即可。
【例1-16】(2A.1E) 16 =(101010.0001111) 2
(5)八进制数与十六进制数相互转换 在将八进制数与十六进制数相互转换时,可以先将要转换的数转换成二进制数,然后将二进制数转换成另一种进制数。
3.二进制的运算规则
(1)二进制数据的算术运算 二进制的算术运算包括加法、减法、乘法和除法。
①加法:加法运算法则为:0+0=0,0+1=1,1+0=1,1+1=10(向高位进位)。
【例1-17】计算1101+110101,根据加法法则计算结果为1000010。
②减法:减法运算法则为:0-0=0,1-1=0,1-0=1,0-1=1(向高位借1)。
【例1-18】计算11011-1100,根据减法法则计算结果为1111。
③乘法:乘法运算法则为:0×0=0,0×1=0,1×0=0,1×1=1。
【例1-19】计算1011×101,得到结果为110111。
④除法:除法运算法则为:0÷1=0,1÷1=1。
【例1-20】计算1100101÷1011,得到的近似值为1001。
(2)二进制的逻辑运算 在计算机中,逻辑量一般用于判断某一事件是否成立,成立为1(真),事件发生;不成立为0(假),事件不发生。逻辑量间的运算称为逻辑运算,结果仍为逻辑量。基本逻辑运算包括与(常用符号×、·、∧表示)、或(常用符号+、∨表示)、非(常用符号¯表示)。二进制数的逻辑运算和数学运算不同,只是本位数字进行逻辑运算,不存在进位和借位。
①逻辑与:当一个事件的条件同时具备(为真)时,这一事件才会发生(为真),只要有一个条件不具备(为假),这一事件就不会发生(为假)。
逻辑与运算规则为:0∧0=0,0∧1=0,1∧0=0,1∧1=1。
②逻辑或:决定一个事件的条件中,有一个或一个以上条件具备(为真)时,这一事件就会发生(为真),只有当所有条件都不具备(为假),这一事件才不会发生(为假)。
逻辑或运算规则为:0∨0=0,0∨1=1,1∨0=1,1∨1=1。
③逻辑非:逻辑非运算表示逻辑的否定。逻辑非运算规则为: 。
4.信息的计量单位 在计算机内部,数据都是以二进制的形式存储和运算的。计算机数据的表示经常使用以下几个概念。
(1)位 二进制数据中的一位(bit),音译为比特,是计算机存储数据的最小单位。一个二进制位只能表示0或l一种状态。
(2)字节 字节(byte,B)是计算机数据处理的最基本单位,主要以字节为单位解释信息。一个字节由8个二进制位组成,即1B=8bit。计算机存储器容量大小是以字节数来度量的,经常使用的单位有B、KB、MB、GB、TB。
1byte=8bit
1KB=2 10 B=1024B
1MB=2 10 KB=2 20 B
1GB=2 10 MB=2 20 KB=2 30 B
1TB=2 10 GB=2 20 MB=2 30 KB=2 40 B