2009-7-25 2管院信管系毛太田制作 第 1页
,计算机文化基础,
制作 毛太田
2001年 10月教学课件
2009-7-25 2管院信管系毛太田制作 第 2页
,计算机文化基础,
主讲:毛太田湘潭大学管理学院
2001年 10月
2009-7-25 2管院信管系毛太田制作 第 3页第二讲数的表示与编码
2009-7-25 2管院信管系毛太田制作 第 4页第 2讲 数的表示与编码
2.1 数的进位制及其转换
2.2 数在计算机中的表示方法
2.3 编码
2009-7-25 2管院信管系毛太田制作 第 5页
2.1 数的表示与编码
1,进位计数制
1) 十进制十进制有十个不同的数字,0,1,2,… 8,9
2个十进制数运算时,由低位向高位的进位遵循,逢十进一,的原则 。
在进位计数制所用不同数字的个数称为该进位计数制的 基,每个数字在数中的位置称为 数位,每个数位对应的单位值称为 数位值 。 任何一个数的大小等于其各位数字与对应数位值乘值之和 。 十进制的基为 10,
数位有:
…百位,十位,个位,十分位,百分位,
数位值 102 101 100 10-1 10-2
一,数的进位制及其转换
2009-7-25 2管院信管系毛太田制作 第 6页
2.1 数的表示与编码设十进制数 N=an an-1…a0a-1-…a-q
我们可以将其表示为:
N=an·10n+an-1·10n-1+…+a1·101+a0·100+a-1·10-1+
…+a-q·10-q
其中,0<= a k <=9,k=-q,…,-1,0,1,…,n
2009-7-25 2管院信管系毛太田制作 第 7页
2.1 数的表示与编码
2) r进制十进制不是数表示的唯一进位数制,我们还熟悉多种不同的进位计数制,如:一周七天,逢七进一;一天 24小时,逢 24进一;一小时
60分,逢 60进一;一打 12个,逢 12进一 ···等 。 因此,七进制,二十四进制,六十进制,十二进制等均可作为进位计数制 。 不同的进位计数制之间的区别在于他们之间的基和数位值不同 。
设 r进制数 N=an …a1a0 … a-q
同理,该 r进制数 N总相当于:
N= an.rn+…+a1.r1+a0.r0+ …+ a-q.r-q
2009-7-25 2管院信管系毛太田制作 第 8页
2.1 数的表示与编码
3) 二进制数学上可以证明,对于 r进制数,当 r取 e( 自然对数的底 ) 时最为理想 。 由于 e=2·7182818284590459···,而 r又只能取整数,所以三进制是最经济的进位计数制而实际上二进制比三进制有更重要的优点:
二进制更容易表示和实现 。
在电学中具有两种稳定状态 ( 对应 0和 ) 的东西是很多的 。 如电压的高低,
电灯的亮灭,电容器的放电与充电,脉冲的有无,晶体管的到通与截止,···,而要找出三个稳定状态的电学现象是很难的 。
使用二进制做运算特别简单 。 如计数,四则运算等 。
基于以上原因,绝大多数计算机都采用二进制 。 二进制的基为 2,只有两个不同的数字 0和 1,运算时逢二进一 。
2009-7-25 2管院信管系毛太田制作 第 9页
2.1 数的表示与编码
4) 八进制和十六进制二进制表示一个很大的数时写起来很长,看起来也不直观,很容易出错 。 为此,经常采用二进制的缩写形式,尤其是八进制和十六进制 。
八进制的基为 8,共有 8个不同的数字,0,1,···,6,7
运算时逢八进一 。 一位八进制数字用三位二进制数表示,对应关系如下:
二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7
例如,( 101111) 2=( 57) 8
2009-7-25 2管院信管系毛太田制作 第 10页
2.1 数的表示与编码十六进制的基为 16,有十六个不同的数字:
0,1,2,3,···,8,9,A,B,C,D,E,F
这里的 A,B,C,D,E,F分别表示十六进制中大于 9的 6个数字其大小为:
(A)16=(10)10,(B)16=(11)10,(C)16=(12)10
(D)16=(13)10,(E)16=(14)10,(F)16=(15)10
十六进制的运算是逢十六进一,与二进制对应如下:
二进制 0000 0001 0010 0011 0100 0101 0110 0111
十六进制 0 1 2 3 4 5 6 7
二进制 1000 1001 1010 1011 1100 1101 1110 1111
十六进制 8 9 A B C D E F
2009-7-25 2管院信管系毛太田制作 第 11页
2.1 数的表示与编码二、不同进制数之间的转换
1、十进制转换为 r进制转换规则:
整数:除 r取余法小数:乘 r取整法
2,r进制转换为十进制转换规则:数字与数位值的乘值之和
3、二、八、十六进制之间的互换
2009-7-25 2管院信管系毛太田制作 第 12页
1101
例 1,(13)10 = ( )2
1 3
6
3
1
0
2
2
2
2
余数
1
0
1
1
二进制数 低 位二进制数 高 位
2009-7-25 2管院信管系毛太田制作 第 13页例 2,(0.6875)10 = ( )2
0,6 8 7 5

3 7 5 01.

7 5 0

0.
5 01.

0 1.
整数
1
0
1
1
二进制数 高 位二进制数 低 位
2009-7-25 2管院信管系毛太田制作 第 14页例 2,(0.6875)10 = ( )2
0,6 8 7 5

3 7 5 01.

7 5 0

0.
5 01.

0 1.
整数
1
0
1
1
二进制数 高 位二进制数 低 位
0.1011
2009-7-25 2管院信管系毛太田制作 第 15页例 3,(13.6875)10 =(13)10+(0.6875)10
=(1101)2+(0.1011)2=(1101.1011)2
例 4,(101.101)2 =1× 22 + 0× 21 +1× 20
=4 + 0 + 1 + 0.5 + 0 + 0.125 = (5.625)10
+ 1× 2-1 + 0× 2-2 +1× 2-3
2009-7-25 2管院信管系毛太田制作 第 16页
2.2 数在计算机中的表示方法问题:计算机中的负号是怎么表示的?
与数一样,只能采用二进制 。 习惯上,以 0表示正,以一表示负 。
如,N=+0·1011 M=-0·1011
而在计算机中可表示为:
N 0.1011 M 1.1011
将数的符号也数值化的数据称为机器数,如 N的机器数为 0·1011,M的机器数为 1·1011,而将原在计算机外由正负号表示的数值称为真值 。
常用的机器数表示方法有三种:
原码,反码和补码一、机器数与真值
2009-7-25 2管院信管系毛太田制作 第 17页
2.2 数在计算机中的表示方法在原码中,符号用0表示正号,用1表示负号;数值部分用真值形式表示 。
例如:已知N=+1011010
M=-1011010
则其原码形式为:
[ N ] 原 =01011010
[ M ] 原 =11011010
对于真值0,其原码有两种 ( +0和-0 ),
[ +0 ] 原 =00000000
[ -0 ] 原 =10000000
二 原码
2009-7-25 2管院信管系毛太田制作 第 18页
2.2 数在计算机中的表示方法
简单易懂
与真值的转换方便
乘除运算简易,但加减运算较复杂,
三,反码又称对,1的补码,,与原码相比较的主要特点:
符号位也数值化且其位置和正负之约定,与原码相同
数制形式取决与符号位:对于正数,反码数值原码数值相同;按位取反 。
注意,正数的反码为原码,负数的反码是对该数的原码 ( 除符号位外 )
按位取反而得 。
例题:设 x=+1011110,-0110011,+0,-0,求其反码 。
原码表示法的主要优点:
2009-7-25 2管院信管系毛太田制作 第 19页
2.2 数在计算机中的表示方法又称对,2的补码,。
在反码表示法中,对于正数,补码数值与原码数值相同;对于负数,补码数值为其反码在最低位 ( 最右边 ) 加 1而得 。
例题:求十进制数 23,-9的补码 。
已知一个补码值,求其原码 ( 进而求十进制数 ) 的方法:
符号位为 0时直接求 ( 与原码相同 ) ;
符号位为 1时,先确定为负数 ( 符号位不动 ),再将数值部分每位取反,最后在最低位加 1而得 。
例题:求补码 00110101,11111111,10000001的原码 。
四、补码
2009-7-25 2管院信管系毛太田制作 第 20页
2.2 数在计算机中的表示方法
在计算机中有两种数的表示方法,即定点表示法和浮点表示法。
所谓定点表示法,就是小数点在数中的位置是固定不变的;所谓浮点表示法就是小数点在数中的位置是不不固定的,
或者说是浮动的。
数的定点表示
一般来说,任何一个二进制数总可以表示为纯整数(或纯小数)与一个 2的整数次幂的乘积 N=2j× s的形式,j称为数 N
的 阶码,s称为数 N的 尾数,2称为阶码的 底 。
当阶码 j的大小固定不便时,称这种表示法为书的定点表示法,这样的数称为定点数。
2009-7-25 2管院信管系毛太田制作 第 21页
2.2 数在计算机中的表示方法如果阶码可以取不同的数值时称这种数的表示法为浮点表示法,
这样的数成为浮点数 。
浮点数在计算机中分为阶码和尾数两部分来表示,一个存放 8位二进制数的内存单元,阶码占 3位 ( 其中一位为符号位 ),尾数占 5位
( 其中一位为符号位 ) 。
如:十进制数 N=22× 12用二进制表示为 N=22 × 1100,在计算机中表示为,01001100,若要求小数点向左移一位,实际上就是数值缩小一位,加码加一 。 此时 N=211 × 0110,在计算机中就变为,0110110。
总之,小数点的移动,在计算机中表现为数码的移位:小数点左移一位,相当于尾数数值右移一位,而阶码加一;小数点右移一位,
相当于尾数数值左移一位,而阶码减一 。
数的浮点表示
2009-7-25 2管院信管系毛太田制作 第 22页
2.2 数在计算机中的表示方法定点与浮点两种表示法的比较:
1、数值表示范围对占有相同位数而言,浮点数所能表示的数值范围 比定点数的大。因此,浮点数很适于科学工程计算。
2、运算规则浮点运算的方法很复杂,控制线路也很复杂。
3、运算精度浮点数能保留较多位有效数字,有利于提高运算精度。
4、使用方便程度浮点数因表示范围大,不易溢出,与日常表示接近,因此浮点数使用起来比定点更为方便。
2009-7-25 2管院信管系毛太田制作 第 23页
2.3 编码一,BCD编码所谓 BCD编码,即:“二 —— 十进制编码”( Binary
Code Decimal编码),就是将十进制数的每一位数字分别用四位二进制数表示 。
十进制与 BCD编码对照关系十进制数 BCD编码 十进制数 BCD编码
0 0000 8 1000
1 0001 9 1001
2 0010 10 00010000
3 0011 11 00010001
4 0100 12 00010010
5 0101 13 00010011
6 0110 14 00010100
7 0111 15 00010101
2009-7-25 2管院信管系毛太田制作 第 24页
2,3 编码注意:四位二进制数共有 16种代码组合,BCD编码中有 6种代码组合是不用的。上面列出的 BCD编码舍弃了 1010--1111
六种代码组合,是最常见的 8421BCD码。
二,ASCII码对于字符这种最常见的非数值型数据,在计算机中普遍采用 ASCII码,即美国标准信息交换码( The American
Standard Code for Information Interchange的缩写)。
ASCII码用一个字节中的 8位二进制进行编码,但实际上只用低 7位来表示 ASCII码,最高一位一般用作奇偶校验位。
这样 ASCII码共可表示 128个字符。
三、汉字编码
1、输入用汉字编码非键盘输入:近年研究已取得了一些阶段性成果,但还没有推广应用。
键盘输入:该方式先将汉字分成若干代码,再在 键盘上以不同的键组合输入该代码,以达到汉字输入的目的。
2009-7-25 2管院信管系毛太田制作 第 25页
2,3 编码
( 1)数码又称数字编码或顺序编码。该方案用数字串表达汉字,
优点是无重码,向内部码转换方便,适于盲打。但由于每个汉字用多个(如 4个)数字表达,记忆量很大。典型的有区位码,电报码等。
( 2)音码又称字音编码。该方案用汉语拼音表达汉字,优点是易学易记,错误字校对量少,缺点是重码率高,影响了输入速度。典型的有全拼、双拼、智能 ABC等。
( 3)形码又称字形编码。该方案用汉字的形状表达汉字,即按汉字笔画的书写顺序依次输入。优点是重码率低,可盲打,
缺点是记忆量和校对量都很大。适用于专职录入人员。典型的有五笔字形码等。
( 4)音形码又称字音字形编码或混合码。该方案兼取音码和形码
2009-7-25 2管院信管系毛太田制作 第 26页
2,3 编码的做法,优点是编码规则简单,重码少,适于非专职录入人员,且效率高于音码。 典型的有自然码等。
2、交换用汉字编码
1981年 5月国家标准局颁布了 GB2312—— 80标准,即
“信息交换用汉字编码字符集(基本基)”,简称为国标码。该标准包括按汉字拼音字母顺序排列的一级汉字
(常用字) 3755个,按部首排序的二级汉字(次常用字)
3008个以及 700多个其他字母、数字和符号。
为了便于在不同汉字系统或通信系统之间进行汉字交换,多种多样的汉字输入编码输入到计算机后,统一变为国标码。
国标码汉字字符集被分成 94区,每区分成 94位。即汉字和字符均被排列在 94× 94个编码位置上,每个汉字或字符均以两个字符表示,其中第一个字节表示区码,
第二个字节表示位码,区码和位码均以两个 16进制数字表示。
2009-7-25 2管院信管系毛太田制作 第 27页
2.3 编码
3、计算机内用的汉字编码对于非汉字的可印刷字符,ASCII编码既可用于交换码,又可用作机内码。汉字情况复杂一些,为了信息处理统一和方便起见,我国汉字信息系统采用了与
ASCII码相容的八位码方案。用两个字节的字符表达一个汉字内部码,为了区分汉字和英文字母,规定英文字母机内码的最高位为 0,而汉字机内码的两个字节的最高位均为 1。
4、输出用的汉字编码输出用的汉字编码称为汉字字形码或字模码。
常见的构建汉字字体的字形方法为点阵法。其基本思路是:任一汉字均可在大小一样的方块中书写,该方块可分为许多点,每个点用一位二进制表示(对显示,
1表示亮,0表示暗),这种点阵可用来输出汉字。我们称用点阵构建汉字字形的模式为点阵字模。
2009-7-25 2管院信管系毛太田制作 第 28页
2.3 编码常用的有 16× 16点阵,即一个汉字用 16 × 16=256个点来表示,每个点占一位二进制,共需 32个字节。点阵越大,字形质量越高,输出质量也越高,但所占的存储空间也越大,因而字模读取速度就越慢。
汉字处理系统中所用汉字字形的集合称为汉字库,
可作成硬字库或软字库。硬字库又称汉卡,它将字库固化在只读存储器上,读取速度快,但价格高;软字库以文件形式将字库存储在软盘、硬盘或光盘上,价格低廉,
但读取速度慢。
在汉字处理系统中,用户从键盘上输入各种汉字编码,在转换为机内码后进行所需的各种处理;处理完后,
若需传送到其它汉字处理系统,则将机内码转换为交换码;若需输出,则根据机内码转换为相应的地址码,以便从汉字库中读取字模,供打印或显示。