计算机基础知识:第二章计算机中的信息表示1
第二章 计算机中的信息表示
2.1 进位计数制
2.1.1数制的概念
什么是数制?数制是用一组固定的数字和一套统一的规则来表示数目的方法。
按照进位方式计数的数制叫进位计数制。十进制即逢十进一,生活中也常常遇到其它进制,如六十进制(每分钟60秒、每小时60分钟,即逢60进1),十二进制,十六进制等。 任何进制都有它生存的原因。人类的屈指计数沿袭至今,由于日常生活中大都采用十进制计数,因此对十进制最习惯。如十二进制,十二的可分解的因子多(12,6,4,3,2,1),商业中不少包装计量单位“一打”;如十六进制,十六可被平分的次数较多(16,8,4,2,
1),即使现代在某些场合如中药、金器的计量单位还在沿用这种计数方法。
进位计数涉及基数与各数位的位权。十进制计数的特点是“逢十进一”,在一个十进制数中,需要用到十个数字符号0-9,其基数为10,即十进制数中的每一位是这十个数字符号之一。在任何进制中,一个数的每个位置都有一个权值。
2.1.2 基数
基数是指该进制中允许选用的基本数码的个数。
每一种进制都有固定数目的计数符号。
十进制:基数为10,10个记数符号,0、1、2、„„9。 每一个数码符号根据它在这个数中所在的位置(数位) ,按“逢十进一”来决定其实际数值。
二进制:基数为2,2个记数符号,0和1。每个数码符号根据它在这个数中的数位,按“逢二进一”来决定其实际数值。
八进制:基数为8,8个记数符号,0、1、2、„„7。每个数码符号根据它在这个数中的数位,按“逢八进一”来决定其实际的数值。
十六进制:基数为16,16个记数符号,0-9,A ,B ,C ,D ,E ,F 。其中A ~F 对应十进制的10~15。每个数码符号根据它在这个数中的数位,按“逢十六进一”决定其实际的数值。
计算机基础知识:第二章计算机中的信息表示2
2.1.3 位权
一个数码处在不同位置上所代表的值不同,如数字6在十位数位置上表示60,在百位数上表示600,而在小数点后1位表示0.6,可见每个数码所表示的数值等于该数码乘以一个与数码所在位置相关的常数,这个常数叫做位权。位权的大小是以基数为底、数码所在位置的序号为指数的整数次幂。十进制的个位数位置的位权是100,十位数位置上的位权为101,小数点后1位的位权为10-1 。
十进制数34958.34的值为:
(34958.34)10=3×104+4×103+9×102+5×101+8×100+3×10-1+4×10-2 小数点左边:从右向左,每一位对应权值分别为100、101、102、103、104 小数点右边:从左向右,每一位对应的权值分别为10-1、10-2
二进制数 (100101.01)2=1×25+0×24+0×23+1×22+0×21+1×20+0×2-1+1×2-2 小数点左边:从右向左,每一位对应的权值分别为20、21、22、23、24
小数点右边:从左向右,每一位对应的权值分别为2-1、2-2
不同的进制由于其进位的基数不同权值是不同的。
小结:位置计数法
一般而言,对于任意的R 进制数
an-1an-2„a1a0a-1„a-m (其中n 为整数位数,m 为小数位数)
可以表示为以下和式:
an-1×Rn-1+an-2×Rn-2+„+a1×R1+a0×R0+a-1×R-1+„+a-m×R-m (其中R 为基数)
2. 2二进制代码和二进制数码
2.2.1 二进制的特点
在计算机中为什么要采用二进制?原因如下:
l 可行性
采用二进制,只有0和1两个状态,需要表示0、1两种状态的电子器件很多,如开关的接通和断开,晶体管的导通和截止、磁元件的正负剩磁、电位电平的低与高等都可表示0、1两个数码。使用二进制,电子器件具有实现的可行性。
l 简易性
二进制数的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制的乘法九九口诀表55条公式,而二进制乘法只有4条规则)。
l 逻辑性
由于二进制0和1正好和逻辑代数的假(false )和真(true )相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。
2.2.2 二进制代码和二进制数码
我们从二进制代码和二进制数码开始讲述计算机基础知识,是因为二进制代码和二进制数码是计算机信息表示和信息处理的基础。
代码是事先约定好的信息表示的形式。二进制代码是把0和l 两个符号按不同顺序排列起来的一串符号。
二进制数码有两个基本特征:
用0、l 两个不同的符号组成的符号串表示数量;
相邻两个符号之间遵循“逢2进l ”的原则,即左边的一位所代表的数目是右边紧邻同一符号所代表的数目的2倍。
二进制代码和二进制数码是既有联系又有区别的两个概念:凡是用0和1两种符号表示信息的代码统称为二进制代码(或二值代码) ;用0和1两种符号表示数量并且整个符号串各位均符合“逢2进1”原则的二进制代码,称为二进制数码。
目前的计算机在内部几乎毫无例外地使用二进制代码或二进制数码来表示信息,是由于以二进制代码为基础设计、制造计算机,可以做到速度快、元件少,既经济又可靠。虽然计算机从使用者看来处理的是十进制数,但在计算机内部仍然是以二进制数码为操作的对象的处理, 理解它的内部形式是必要的。
在计算机中数据的最小单位是1位二进制代码,简称为位(bit)。8个连续的bit 称为一个字节(byte)。
计算机基础知识:第二章计算机中的信息表示3
.2.3 数的二进制表示和二进制运算
1. 数的二进制表示
客观世界中,事物的数量是一个客观存在,但表示的方法可以多种多样。 例2-1 345用十进制数码可以表示为(345)10=3×102十4×101十5×100
这里每个固定位置上的计数单位称为位权。十进制计数中个位上的计数单位为100=1,从个位向左,依次为101,102,103,„;向右依次为10-1,10—2,„。 用二进制数码可以表示为:
(101011001)2= l ×28+0×27+1×26+0×25+l×24+1×23+0×22+0×21+l×20 =256+0+64+0+16+8+0+0+ l=(345)10
二进制计数中个位上的计数单位也是1,即20=l ,个位向左依次为21,22,23,„;向右依次为2-1,2-2,„。
2.计算机中的算术运算
二进制数的算术运算与十进制的算术运算类似, 但其运算规则更为简单,其规则见表2-1。
表2-l 二进制数的运算规则
加 法
乘 法
减 法
除 法
0+0=0
0+1=1
1+0=1
1+1=10(逢二进一)
0×0=0
0×1=0
1×0=0
1×1=1
0-0=0
1-0=1
1-1=0
0-1=1(借一当二)
0÷0=0
0÷1=0
1÷0=(没有意义)
1÷1=1
⑴二进制数的加法运算
例:二进制数1001与1011相加
算式: 被加数 (1001)2 „„(9)10
加数 (1011)2 „„ (11)10
进位 +) 1 11
和数 (10100)2
结果:(1001)2 +(1011)2=(10100)2
由算式可以看出,两个二进制数相加时,每一位最多有3个数(本位被加数、加数和来自低位的进位)相加,按二进制数的加法运算法则得到本位相加的和及向高位的进位。 ⑵二进制数的减法运算
例:二进制数11000001与00101101相减
算式: 被减数 (11000001)2 „„ (193)10
减数 (00101101)2 „„ (45)10
借位 –) 1111
差数 (10010100)2 „„ (148)10
结果:(11000001)2 – (11000001)2 =(10010100)2
由算式可以看出,两个二进制数相减时,每一位最多有3个数(本位被减数、减数和向高位的借位)相减,按二进制数的减法运算法则得到本位相减的差数和向高位的借位。
3. 计算机中的逻辑运算
计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。二值逻辑很容易用二进制的“0”和“1”来表示,一般用“1”表示真,用“0”表示假。逻辑值的每一位表示一个逻辑值,逻辑运算是按对应位进行的,每位之间相互独立,不存在进位和借位关系,运算结果也是逻辑值。
计算机基础知识:第二章计算机中的信息表示4
三种基本的逻辑运算
逻辑运算有“或”、“与”和“非”三种。其它复杂的逻辑关系都可以由这三个基本逻辑关系组合而成。
(1)逻辑“或”。用于表示逻辑“或”关系的运算,“或”运算符可用+,OR ,∪或∨表示。
逻辑“或”的运算规则如下:
0+0=0 0+1=1 1+0=1 1+1=1
即两个逻辑位进行“或”运算,只要有一个为“真”,逻辑运算的结果为“真”。 例:如果A=1001111,B=(1011101);求 A+B
步骤如下: 1001111
+ 1011101
1011111
结果:A+B=1001111+1011101=1011111
(2)逻辑“与”。用于表示逻辑与关系的运算,称为“与”运算, 与运算符可用AND ,·,×, ∩或∧表示。
逻辑“与”的运算规则如下:
0×0=0 0×1=0 1×0=0 1×1=1
即两个逻辑位进行“与”运算,只要有一个为“假”,逻辑运算的结果为“假”。 例:如果A=1001111,B=(1011101),求A ×B
步骤如下: 1001111
× 1011101
1001101
结果: A ·B=1001111×101101=1001101
(3)逻辑“非”。用于表示逻辑非关系的运算,该运算常在逻辑变量上加一横线表示。
逻辑“非”的运算规则: =0 =1 即对逻辑位求反。
2.3不同数制间的转换
不同数制间的转换采用基数乘除法
基数乘除方法
假设将十进制数转换为R 进制数:整数部分和小数部分须分别遵守不同的转换规则: 对整数部分:除以R 取余法,即整数部分不断除以R 取余数,直到商为0为止,最先得到的余数为最低位,最后得到的余数为最高位。
对小数部分:乘R 取整法,即小数部分不断乘以R 取整数,直到小数为0或达到有效精度为止,最先得到的整数为最高位(最靠近小数点),最后得到的整数为最低位。
2.3.1十进制数转换为二进制数
十进制转换数成二进制数, 基数为2,故对整数部分,除2取余,对小数部分乘2取整。为了将一个既有整数部分又有小数部分的十进制数转换成二进制数,可以将其整数部分和小数部分分别转换,然后再组合。
例2-2 将(35.25)10转换成二进制数
整数部分:
2
2
2
2
2
2
2
35 取余数 低
17
1
1
1 高
8
4
2
1
注意:第一次得到的余数是二进制数的最低位,最后一次得到的余数是二进制数的最高位。也可用如下方式计算:
商 : 0 1 2 4 8 17 35
2
余数 1 1 0 0 0 1
小数部分:
0.25
× 2
取整数 高
0.50
× 2
1. 00 1 低
注意:一个十进制小数不一定能完全准确地转换成二进制小数,这时可以根据精度要求只转换到小数点后某一位为止即可。将其整数部分和小数部分分别转换,然后组合起来得(35.25)10=(100011.01)2
计算机基础知识:第二章计算机中的信息表示5
2.3.2 十进制数转换为八进制数
八进制数码
八进制数码的基本特征是:用8个不同符号0,1,2,3,4,5,6,7组成的符号串表示数量,相邻两个符号之间遵循“逢8进1”原则,也就是说各位上的位权是基数8的若干次幂。
例2-3 将十进制数(1725.32)10转换成八进制数(转换结果取3位小数) 。 十进制转换数成八进制数, 基数为8,故对整数部分,除8取余,对小数部分乘8取整。为了将一个既有整数部分又有小数部分的十进制数转换成八进制数,可以将其整数部分和小数部分分别转换,然后再组合。
整数部分:
8
8
8
8
8
1725 取余数 低
215
5
7
2
3 高
26
3
0.32
× 8
取整数 高
2
2.56
× 8
4.48 4
× 8
3 低
3.84
得(1725.32)10=(3275.243)8
2.3.3. 十进制数转换为十六进制数
十六进制数码
十六进制数码的基本特征是:用16个不同符号0—9和A ,B ,C ,D ,E ,F 组成的符号串表示数量,相邻两个符号之间遵循“逢16进1”的原则,也就是各位上的位权是基数16的若干次幂。
用基数乘除法, 此处基为16。将十进制整数转换成十六进制整数可以采用“除16取余”法;将十进制小数转换成十六进制小数可以采用“乘16取整”法。如果十进制数既含有整数部分又含有小数部分则应分别转换后再组合起来。
例2-4 将(237.45)10转换成十六进制数(取3位小数)
整数部分:
16
16
237
取余数 低
13
14 高
14
小数部分:
0.45
× 16
7
7. 20
× 16
3. 20 3
× 16
3 低
3. 20
得(237.45)10=(ED.733)16
2.3.4 二进制数转换为八、十六进制数
二进制、八进制、十六进制数码间的关系
8和16都是2的整数次幂,即8=23,16=24,因此3位二进制数相当于l 位八进制数,4位二进制数相当于l 位十六进制数(见表2-2) ,它们之间的转换关系也相当简单。由于二进制数表示数值的位数较长, 因此常需用八、十六进制数来表示二进制数。
表2-2 二进制、八进制、十六进制数的对应关系表
二进制
八进制
二进制
十六进制
二进制
十六进制
000
001
010
011
100
101
110
111
1
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
1
2
3
4
5
6
7
1000
1001
1010
1011
1100
1101
1110
1111
8
9
A
C
D
E
F
将二进制数以小数点为中心分别向两边分组,转换成八(或十六)进制数每3(或4)位为一组,整数部分向左分组,不足位数左补0。小数部分向右分组,不足部分右边加0补足,然后将每组二进制数转化成八(或十六)进制数即可。
例2-5 将二进制数(11101110.00101011)2转换成八、十六进制数
( 011 101 110 . 001 010 110)2=(356.126)8
3 5 6 . 1 2 6
( 1110 1110 . 0010 1011)2=(EE.3B )16
E E . 3 B
计算机基础知识:第二章计算机中的信息表示6
2.3.5 八、十六进制数转换为二进制数
将每位八(或十六)进制数展开为3(或4)位二进制数。
例 2-6 (714.431)8=(111 001 100. 100 011 001)2
7 1 4 . 4 3 1
(43B.E5)16=(0100 0011 1011. 1110 0101)2
4 3 B . E 5
整数前的高位零和小数后的低位零可取消。
各种进制转换中, 最为重要的是二进制与十进制之间的转换计算, 以及八、十六进制与二进制的直接对应转换。
思考题:
下表共有4栏,请你确定1-15中的一个数,你只需给出此数在下列各栏中是否存在的信息,别人不用看表即可确定你所说的这个数是几,你能说出其中的规律吗?
9 10
13 8
11 15
14 12
7 4
12 14
6 5
13 15
3 2
11 10
7 6
14 15
3 5
7 9
1 11
13 15
仿照上表的规律,制出一个5栏的表,表中含有1-31中的数。
2.4 计算机中数据及编码
2.4.1 什么是数据
数据( data )是表征客观事物的、可以被记录的、能够被识别的各种符号,包括字符、符号、表格、声音和图形、图像等。简而言之,一切可以被计算机加工、处理的对象都可以被称之为数据。数据可在物理介质上记录或传输,并通过外围设备被计算机接收,经过处理而得到结果。
数据能被送入计算机加以处理,包括存储、传送、排序、归并、计算、转换、检索、制表和模拟等操作,以得到满足人们需要的结果。数据经过解释并赋予一定的意义后,便成为信息。这里说的数据指的是广义的数据,可以用来表示:
事物的数量(例如产量、资金、职工人数和物品数量等);
事物的名称或代号(例如厂名、车间名、学校名和职工名等);
事物抽象的性质(例如人体的健康状况、文化程度、政治面貌和工作能力等)。
数据有两种形式。一种形态为人类可读形式的数据,简称人读数据。因为数据首先是由人类进行收集、整理、组织和使用的,这就形成了人类独有的语言、文字以及图像。例如图书资料、音像制品等,都是特定的人群才能理解的数据。
另一种形式称为机器可读形式的数据,简称机读数据。如印刷在物品上的条形码、录制在磁带、磁盘、光盘上的数码、穿在纸带和卡片上的各种孔等,都是通过特制的输入设备将这些信息传输给计算机处理,它们都属于机器可读数据。显然,机器可读数据使用了二进制数据的形式。