课前复习
问题:
1.
0.8125
2.
(110 001 011 011),(C5B)
如果网络卡,可以自主看以下内容,有问题及时提问
1.4 数制及运算
1.数制的概念
数制是人们用一组特定符号和统一运算规则来计数的方法。在人类历史发展过程中,人们创造并使用过多种不同的数制。如我国古代的重量单位是十六进制,以十六两为一斤;时间单位中的分、秒采用六十进制,小时采用二十四进制等,六十秒为一分钟,六十分钟为一小时,二十四小时为一天,等等。在计算机的设计与使用上常常使用的是十进制、二进制、八进制、十六进制,下面我们分别加以介绍。
(1)十进制数
生活中我们习惯使用的是十进位计数制,简称十进制。十进制数中有十个不同的数字符号:0、1、2、3、4、5、6、7、8、9,按照一定顺序排列起来表示数值的大小。
任意一个十进制数都有特定的表示形式,如十进制数527可表示为(527)10、[527]10或527D。有时十进制数后的下标10或D也可以省略。
例 十进制数2042可以写成:
(2042)10=2×103+0×102+4×101+2×100
从这个十进制数的表达式中,可以得到十进制数的特点:
① 每一个位置(数位)只能出现十个数字符号0~9中的其中一个。通常把这些符号的个数称为基数,十进制数的基数为10;
② 同一个数字符号在不同的位置代表的数值是不同的。上例中第一位和第四位的数字都是2,但右边第一位数表示2,而第四位数表示2000;
③ 十进制的基本运算规则是“逢十进一”。上例中右边第一位为个位,记做100;第二位为十位,记做101;第三、四位分别为百位和千位,记做102和103。通常把100、101、102、103等称为对应数位的权,各数位的权都是基数的幂。每个数位对应的数字符号称为系数。显然,某数位的数值等于该位的系数和权的乘积。
一般来说,n位十进制正整数[X]10=an-1an-2…a1a0可表达为以下形式:
[X]10=an-1×10n-1nn-2+…+a1×101+a0×100
式中,a0、a1、…、an-1为各数位的系数(ai-1是第i位的系数),它可以取0~9十个数字符号中任意一个;100、101、…、10n-1为各数位的权;[X]中下标10表示X是十进制数,10十进制数的括号也经常被省略。
(2)二进制数
十进制数是人们最熟悉、最常用的一种数制,但在计算机中使用的是二进制数。这是因为计算机中的成千上万个电子元件(如电容、电感、三极管等)一般只有两种稳定的工作状态,用二进制的“0”和“1”来表示这两种稳定的工作状态是最容易实现的。
二进制数中只有两个数字符号(“0”和“1”),它的基数是2,基本运算规则是“逢二进一”,各位的权为2的幂。
例 二进制数(110.11)2代表的实际值是:
(110.11)2=1×22+1×21+0×20+1×2-1+1×2-2=(6.75)10
在二进制数的右下方注上基数2来表示二进制数,如(110.11)2,或用大写字母B作后缀表示,如110.11B。
一般来说,n位二进制正整数[X]2=an-1an-2 …a1a0表达式可以写成:
[X]2=an-1×2n-1+an-2×2n-2+…+a1×21+a0×202n-1n-210
式中a、a、…、a为系数,可取0或1两种值;20、21、…、2n-1为各数位的权。01n-1
(3)八进制数
由于二进制数的书写一般比较长,容易出错,为了便于书写,在编写计算机程序时常常用八进制数和十六进制数等价地表示二进制数,再由计算机将这些数自动地转换成二进制数。
在八进制中,基数为8,它有0、1、2、3、4、5、6、7八个数字符号,八进制的基本运算规则是“逢八进一”,各数位的权是8的幂。
任意一个八进制数也有特定的表示形式,如八进制数425可表示为[425]8、(425)8或425O(英文字母O)。
n位八进制正整数的表达式可写成:
[X]8=an-1×8n-1+an-2×8n-2+…+a1×81+a0×80
例 求三位八进制数[X]8=[212]8所对应的十进制数的值。
[X]8=[212]8=[2×82+1×81+2×80]10=[128+8+2]10=[138]10
所以,[212]8=[138]10
(4)十六进制数。
十六进制数由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数字符号组成,A、B、C、D、E、F相当于十进制数中的10、11、12、13、14、15的值。十六进制数的基数是16,进位方法是“逢十六进一”,权为16的幂。
例 十六进制数(3C5.4)16代表的实际值是:
(3C5.4)16=3×162+12×161+5×160+4×16-1=(965.25)10
任意一个十六进制数,如7B5可表示为(7B5)16,或[7B5]16,或者为7B5H。
n位十六进制正整数的一般表达式为:
[X]16=an-1×16n-1+an-2×16n-2+…+a1×161+a0×160
2.二进制数的运算
对二进制数的运算有两种:算术运算和逻辑运算。由于二进制中只有0和1两个数码,所以运算规则简单。
(1)算术运算
二进制加法运算的规则是:
0+0=0 0+1=1 1+0=1 1+1=10(逢二进一)
二进制减法运算的规则是:
0-0=0 1-1=0 1-0=1 0-1=1 (借一当二)
例 计算(101101)2+(1011.01)2

所以 (101101)2+(1011.01)2=(111000.01)2
例 计算(1011011)2-(1101.01)2

所以 (1011011)2-(1101.01)2=(1001101.11)2
二进制乘法运算的规则是:
0×0=0 0×1=0 1×0=0 1×1=1
二进制除法运算的规则是:
0÷1=0 1÷1=1
例 计算(1011.11)2×(101)2

所以 (1011.11)2×(101)2=(111010.11)2
例 计算(100100.01)2÷(101)2

所以 (100100.01)2÷(101)2=(111.01)2
(2)逻辑运算
二进制常用的逻辑运算主要包括“逻辑或”、“逻辑与”、“逻辑非”三种。
或运算的运算规则是(或运算用“+”表示):
0+0=0 0+1=1 1+0=1 1+1=1
与运算的运算规则是(与运算用“· ”表示):
0·0=0 0·1=0 1·0=0 1·1=1
非运算的运算规则是(非运算用数字上加横杠表示):
0=11=0
需要注意的是,算术运算会发生进位和借位处理,而逻辑运算则按位独立进行,位与位之间不发生进(借)位。

例 计算(10011)2和(10101)2进行或运算的值。
所以 (10011)2和(10101)2进行或运算的值为(10111)2
例 计算(10011)2和(10101)2进行与运算的值。

所以 (10011)2和(10101)2进行与运算的值为(10001)2
例 计算(10111)2进行非运算的值。
(10111)2进行非运算的值为(01000)2
课中讨论
你知道计算机能识别什么数制吗?和我们人类常用数制一样吗?若不同,请问计算机如何识别人类的数制的呢?
课后作业:

