第一章 计算机中的数据和编码.docx
《第一章 计算机中的数据和编码.docx》由会员分享,可在线阅读,更多相关《第一章 计算机中的数据和编码.docx(31页珍藏版)》请在冰豆网上搜索。
第一章计算机中的数据和编码
第一章计算机中的数据和编码1.1计算机中的数制
1.2计算机中数的表示1.3计算机中的编码1.1计算机中的数制之进位计数制按照进位的方法进行计数的数制称为进位计数制,简进位制:
称进位制十六进制二进制常用数制:
十进制
HB区分符:
D或不用
3BA.4H1011.11B应用举例:
123.45D或123.45
十六进制数3BA.4H十进制数123.45二进制数1011.11
基数:
表明计数制允许选用的基本数码的个数称为基数,用R表示。
十进制二进制十六进制
数码:
0-990,10-9,A-F
基数:
R=10R=2R=16
表1.1计算机中的数制对照表
十进制
二进制
十六进制
十进制
二进制
十六进制
0
0000
0
8
1000
8
991100100011
A
10
00101010
2
2
0011
33111011B
0100
44121100C
D010113511015
E
14
01101110
6
6
0111
77151111F
在进位计数制中,一个数码处在数的不同位置时,它所代表的数值是不同的。
每一个数位赋予的数值称为位权,简称权。
权的大小是以基数为底,数位的序号为指数的整数次幂,用I表示数位的序号,用R表示数位的权。
例:
342.54各数位的权分别为102,101,100,101和102;
1和1011.01B各数位的权分别为23,22,21,20,222;34A.7H。
16162,161,160各数位的权分别为和1计算机中的数制之进位计数制间的相互转换
进位计数制中,每个数位的数值等于该位数码与该位的权之乘积,用Ki表示第i位的系数,则该位的数值为KiRi。
任意进位制的数都可以写成按权展开的多项式和的形式,其一般表达为:
m?
?
iRKN?
i1?
i?
n
1-1R1Rn1+Kn+2=Kn+…+K0R02RnK
K+…+mRm
m是进位制小数部分的位数)(n是进位制整数部分的位数,二进制数转换成十进制数1.整数转换法
(1)
二进制整数的按权展开式:
K0×20Kn-2×2n2+…+N=Kn1×2n1+
把上式改写成下式:
N=(((Kn1×2+Kn2)×2+Kn3)×2+…+K1)×+K02从上述表达式,得出转换方法如下:
……,加上第三高位,22从最高位开始乘以,加上次高位,再乘以二进制整数转换成十进制整数的依此方法一直加到最低位为止。
方法称为乘2叠加法。
转换成十进制数。
转换过程用】【例1.1:
把二进制数101101线图表示:
101101B=45转换结果是:
2)小数转换法:
(二进制小数的按权展开式如下:
m
2
1+K
2×2N=K1×22+…+K
m×把上式改写成下式:
1K
++12K
2+…+21(–KmN=2
1(K
1+21()m))从上述表达式,得出转换方法如下:
,加上第三低2从最低位开始,除以2,加上次低位,再除以二进制小……依此方法一直到小数点后第一位除以2为止。
位,数转换成十进制小数的方法称为除2叠加法。
转换过程用转换成十进制小数。
0.101111.2】把二进制数【例线图表示:
转换结果是:
0.10111B=0.71875
2.十进制数转换成二进制数
(1)整数转换法
转换方法如下:
把十进制数的整数部分连续除以2,依次取得余数,直到商为0依次得出的余数序列即是二进制数从低位到高位各数位上停止,
的系数。
十进制整数转换为二进制整数的方法称为除2取余法。
【例1.3】把十进制数205转换成二进制整数。
用竖式表示如下:
十进制整数/2二进制数位系数=余数
205/2=102K0=1
K1=0102/2=51
K2=151/2=25
K3=125/2=12
K4=012/2=6
K5=06/2=3
K6=13/2=1
K7=1
1/2=0
转换结果是:
205=11001101B。
(2)小数转换法
转换方法如下:
把十进制小数部分连续乘以2,依次取得整数,直到乘积小数部分为0停止,依次得出乘积的整数序列即是二进制小数从高位到低位各数位上的系数。
十进制小数转换成二进制小数的方法称为乘2取整法。
【例1.4】把十进制小数0.8125转换成二进制小数。
用竖式表示如下:
十进制整数部分=二进制小数的数位系数2十进制小数×.
1=1K0.8125×2=1.625
K0.625×2=1.252=1
K2=0.53=00.25×K0.5×2=1.04=1
转换结果是:
0.8125=0.1101B。
3.二进制数转换成十六进制数整数二进制数转换成十六进制数的转换方法是:
从小数点开始,每四位二进制数为一组用一位十六进部分向左,小数部分向右,0补足。
制数表示,不足四位的用转换成十六进制数。
】【例1.5把二进制数11110110101.101010101.10101(000)1011二进制数(0)111
8.A785十六进制
11110110101.10101B=7B5.A8H。
转换结果是:
4.
十六进制数转换成二进制数
十六进制数转换成二进制数的转换方法是:
每一位十六进制
数用相应的四位二进制数代替,多余的0舍去。
转换成二进制数。
把十六进制数9F.8【例1.6】8F.十六进制数9
二进制数10011111.1000
转换结果是:
9F.8H=10011111.1B。
计算机中的数制之进位计数制的计量单位
位二进制信息组成一个8,由)bit二进制信息的基本单位是位(.
。
和B字节(Byte)。
表示位和字节的英文符号分别为b
个十进位分挡的,即:
在国际单位制中,十进制是以3;)=103=1k=1000千(kilo
;)=106=1M=103k=1000k兆(mega
=109=1G=103M=1000M;吉(giga)
=1012=1T=103G=1000G。
太(tera)
10个二进位分挡的,即:
在国际单位制中,二进制是以;kilo)=210=1K=1024千(
;)=220=1M=210K=1024K兆(mega
=230=1G=210M=1024M;吉(giga)
。
tera)=240=1T=210G=1024G太(
计算机中数的表示之机器数和真值而把这个数的本身称为真数在计算机中的表示形式称为机器数,值。
1.数的符号数值表示正号,010和表示,以在计算机中,数的符号只能用表示负号。
在计算机中通常把符号放在最高位,该位称1以为符号位。
一个机器数是由符号位和数值位两部分组成的。
;真值是,对应的机器数为01001B例如,真值是+1001B1001B,对应的机器数为11001B。
2.数的位数固定
一台计计算机内一次能表示二进制数的位数叫做计算机的字长,
位叫做一个字节,计算机字算机的字长是固定的。
字长为86432位、位、16位、长一般都是字节的整数倍,如字长8128位。
位及计算机中数的表示之机器数的表示方法1.2
种:
原码、反码、补码和移码。
常用的机器数表示方法有4.原码表示法1,数值1原码表示法为:
正数的符号位为0,负数的符号位为位是真值的绝对值。
=0X1X2…Xn;即:
X=+X1X2…Xn,[X]原X1X2…Xn,[X]X=原=
1X1X2…Xn。
,X2=1001010的原码【例1.7】写出真值X1=+1001010=11001010。
=01001010[X1]原,[X2]原
位原码表示的最大和最小整数。
【例1.8】写出8原=[01111111];1111111B=+127原=+Max[X]【例1.9】
1111111B=原。
=127【例1.10】Min[X]原=[11111111]127。
8用位原码表示整数的范围是+127~2.反码表示法,数值位取真值;负数的符号0反码表示法为:
正数的符号位为1位为,数值位取真值的相反码。
,[X]Xn=0X1X2…反X=即:
+X1X2…Xn;=1X1X2…Xn反[X],X1X2…XnX=
的反码。
X2=1100111【例1.9】写出真值X1=+1100111,=10011000。
[X1]反=01100111,[X2]反位反码表示的最大和写出8【例1.10】
最小整数。
;127Max[X]反=[01111111]反=+1111111B=+。
Min[X]反=[10000000]反1111111B=
=
127127~。
用8位反码表示整数的范围是+1273.补码表示法,数值位取用补码表示计算机中的有符号数,正数的符号位为0,数值位取真值的相反码加1。
真值;负数的符号位为1=0X1X2…Xn;X1X2…Xn即:
当X=+时,[X]补
X=
X1X2…Xn时,[X]补=1(X1X2…Xn+1当)X2=
X1=+1001110,写出真值【例1.11】1001110的补码。
[X2]补=10110010[X1]补=01001110
8位补码表示的最大和最小整数。
【例1.12】写出127+=1111111B=+=[01111111]Max[X]补补10000000B=
=
128
补Min[X]补=[10000000]
128。
8位补码表示整数的范围是+127~
用补码表示法能使减法运算转化为加法运算,并且在进行加减运算时,能使符号位和数值位一起运算,从而简化运算规则。
4.移码表示法
根据多就是在补码的基础上增加一个偏移量。
移码也称作增码,
其位的移码,字长为8数高级程序语言软件包的实数标准格式,1023位的移码,其偏移量为;字长为11127(7FH)偏移量为)3FFH。
(X2=
0000011B的移码。
+0000011B,【例1.14】写出X1=[X1]移=[X1]补+偏移量=[00000011B]补+01111111B=
[10000010B]移;
[X2]移=[X2]补+偏移量=[11111101B]补+01111111B=
[01111100B]移。
计算机中数的表示之数的定点和浮点表示
任意一个二进制数都可以表示为纯整数或纯小数与一个2的整数次幂的乘积。
即:
N=2E×S
其中:
S称为数N的尾数,是数值的有效数字;E称为数N的阶码(指数),指明小数点的位置;2称为阶码的底。
1.定点数表示法
当阶码为常数时,这种数的表示方法称为定点数表示法。
定点数表示法的小数点位置有以下两种约定:
1)所有机器数的小数点位置隐含在数的最低位之后,把所有的数化为纯整数,这称为定点整数。
2)所有机器数的小数点位置隐含在符号位之后,把所有的数化为
纯小数,这称为定点小数。
定点数表示方法简单直观,但表示数的范围较小。
.
2.浮点数表示法
当阶码取不同的数值时,这种数的表示方法称为浮点数表示法。
浮点数在计算机中的表示形式如下:
SfES
其中:
E是阶码,常用移码表示;Sf是尾数的符号位;S是尾数,一般采用原码表示。
浮点数表示法也有以下两种形式:
单精度浮点数(Single):
字长为32位实数,由1位符号、8位阶码和23位尾数组成,以4个字节形式存储。
双精度浮点数(Double):
字长为64位实数,由1位符号、11位阶码和52位尾数组成,以8个字节形式存储。
1.3计算机中的编码之数字编码
计算机的输入输出数据是十进制数,而计算机内部运算是用二进制数,因此十进制数必须用二进制数形式表达。
用四位二进制数表示一位十进制数的编码,称为二进制编码的十进制数,简称BCD码。
最常用的是8421BCD码。
8421BCD码的4个二进制位自左向右每位的权分别是8,4,2,1,用二进制数0000~1001十个编码分别表示十进制数的0~9
在一个字节内存放两位BCD数称为压缩的BCD数,如在一个字节内只存。
99表示十进制数10011001B数BCD压缩的.
放一位BCD数称为非压缩的BCD数,高半个字节为0,低半个字节为BCD数,如非压缩的BCD数00001001B表示十进制数9。
在计算机中的扩展精度BCD数占10个字节(80位),第1~9个字节是压缩的BCD数,也就是18位BCD数,第10个字节是符号位。
8421BCD码和十进制数的对应关系如表1.2所示
表1.28421BCD编码表
十进制数8421
00000
00011
00102
00113
01004
01015
01106011
100
100
计算机中的编码之校验码
由于计算机结构、工艺及电气性能等方面因素的影响,常常使数据在存取、传输的过程中出现错误,为了及时发现并修正错误,计算机采用校验码对传输的数据进行校验和修正。
校验码的种类很多,最普遍使用的检验码是奇偶校验码。
奇偶校验码是将每个信息的代码,扩展一个二进制位作为校验位。
校验位的取值原则是:
若是奇校验,在编码中含有“1”的个数连同校验位的取值共有奇数个;若是偶校验,在编码中含有“1”的个数连同校验位的取值共有偶数个。
例如,是奇校验,信息编码是10001000B,在信息中有两个“1”,所以校验位取值为“1”,使“1”的总数有奇数个,该信息的奇校验码为110001000B。
在计算机中进行代码检验时,当检测信息编码中“1”的个数与预先设定的奇/偶校验不符时,表明被检测的信息有误。
计算机中的编码之字符编码
数字、字母、通用符号和控制符号等统称为字符,用来表示字符的二进制代码称为字符编码。
国际上普遍采用的一种字符编码是美国国家信息交换代码(AmericanStandardCodeforInformationInterchange),简称码ASCII.
ASCII码选择了4类共128个常用字符,说明如下:
数字0~9:
ASCII码的10个数字字符和BCD码是两个不同概念。
字母:
包括26个大写英文字母和小写英文字母。
通用符号:
如*、:
、%、=等。
控制符号:
如ESC、CR等。
计算机中的编码之汉字编码
1.区位码
汉字的区位编码是把汉字所在位置的区号和位号合起来(区号在前,位号在后)得到的四位数字的编码。
例如,“啊”字的区位编码是1601,“波”字的区位编码是1808。
2.国标码
汉字的国标码是用二进制表示汉字的编码,行和列都是7位二进制编码。
3.内码
汉字在计算机内部存储、运算的信息代码称为汉字的内码。
为了便于汉字和西文信息处理有较好的兼容性,每个字节的最高位作为区分ASCII码和汉字内部码的标识位。
标识位为“0”,则是ASCII码,又称为半角字符编码;标识位为“1”,则是汉字内码,采用汉字内码的字符编码称为全角字符编码。
无论是何种汉字输入方法,汉字的内码都是相同的。