第一章 计算机中的数据和编码

绝世美人儿
931次浏览
2020年12月15日 18:28
最佳经验
本文由作者推荐

黑洞表面结局-广东靓汤

2020年12月15日发(作者:鲁坚)


第一章 计算机中的数据和编码

1.1计算机中的数制
1.2计算机中数的表示
1.3计算机中的编码
1.1 计算机中的数制之进位计数制
进位制: 按照进位的方法进行计数的数制称为进位计数制,简
称进位制
常用数制: 十进制 二进制 十六进制
区分符: D或不用 B H
应用举例:123.45D或123.45 1011.11B 3BA.4H

十进制数123.45 二进制数1011.11 十六进制数3BA.4H
基数:表明计数制允许选用的基本数码的个数称为基数,用R
表示。
十进制 二进制 十六进制
数码: 0-99 0,1 0-9,A-F
基数: R=10 R=2 R=16
表1.1 计算机中的数制对照表
十进制 二进制
0000
0 0 8 1000 8
十六进制 十进制 二进制 十六进制


1
2
0001
0010
0011
1
2
9
10
1001
1010
9
A
3
0100
3 11 1011 B
4
5
6

0101
0110
0111
4
5
6
12
13
14
1100
1101
1110
C
D
E
7 7 15 1111 F
在进位计数制中,一个数码处在数的不同位置时,它所代表
的数值是不同的。每一个数位赋予的数值称为 位权,简称权。
权的大小是以基数为底,数位的序号为指数的整数次幂,用
I 表示数位的序号,用R 表示数位的权。
例:342.54各数位的权分别为102, 101, 100, 10
1011.01B各数位的权分别为23, 22, 21, 20, 2
各数位的权分别为162, 161, 160和161。
1和102;
1和22;34A.7H
计算机中的数制之进位计数制间的相互转换
进位计数制中, 每个数位的数值等于该位数码与该位的权之
乘积,用Ki表示第i位的系数,则该位的数值为KiRi。 任意进
位制的数都可以写成按权展开的多项式和的形式,其一般表达
为:


N


= K n
in1
1+K n

K
i
R
2R n
m
i

1R n
m Rm
2+…+K 0R 0+K-1R1
+…+K
(n是进位制整数部分的位数,m是进位制小数部分的位数)
1. 二进制数转换成十进制数
(1) 整数转换法
二进制整数的按权展开式:
N = K n1×2 n1+K n-2×2 n2+…+K 0×2 0
把上式改写成下式:
N =(((Kn
2+K 0
从上述表达式,得出转换方法如下:
从最高位开始乘以 2,加上次高位,再乘以2,加上第三高位,……
依此方法一直加到最低位为止。二进制整数转换成十进 制整数的
方法称为乘2叠加法。
【例1.1】 : 把二进制数101101转换成十进制数。转换过程用
线图表示:
1×2+K n2)×2+Kn3)×2+…+K 1)×


转换结果是:101101B = 45
(2)小数转换法:
二进制小数的按权展开式如下:
N = K1×2 1+K 2×2 2+…+K m×2m
把上式改写成下式:
N = 2 1(K 1+2 1(K 2+…+2 1(Km+1+2 –1 K
m)))
从上述表达式,得出转换方法如下:
从最低位开始,除以2, 加上次低位,再除以2,加上第三低
位,……依此方法一直到小数点后第一位除以2为止。二进制小数转换成十进制小数的方法称为除2叠加法。
【例1.2】 把二进制数0.10111转换成十进制小数。转换过程用
线图表示:

转换结果是:0.10111B = 0.71875

2.十进制数转换成二进制数
(1)整数转换法
转换方法如下:
把十进 制数的整数部分连续除以2,依次取得余数,直到商为0
停止,依次得出的余数序列即是二进制数从低位 到高位各数位上


的系数。十进制整数转换为二进制整数的方法称为除2取余法。
【例1.3】 把十进制数205转换成二进制整数。
用竖式表示如下:
十进制整数 2
205 2 = 102
102 2 = 51
51 2 = 25
25 2 = 12
12 2 = 6
6 2 = 3
3 2 = 1
1 2 = 0





















二进制数位系数 = 余数
















K0 = 1
K1 = 0
K2 = 1
K3 = 1
K4 = 0
K5 = 0
K6 = 1
K7 = 1
转换结果是:205 = 11001101B。
(2)小数转换法
转换方法如下:
把十进制小数部分连续乘以2,依次取得整数,直到乘积小数部
分为0停止, 依次得出乘积的整数序列即是二进制小数从高位到
低位各数位上的系数。十进制小数转换成二进制小数的 方法称为
乘2取整法。
【例1.4】 把十进制小数0.8125转换成二进制小数。
用竖式表示如下:
十进制小数×2 二进制小数的数位系数 = 十进制整数部分


0.8125×2 = 1.625
0.625×2 = 1.25
0.25×2 = 0.5
0.5×2 = 1.0



K1 = 1
2 = 1
3 = 0
4 = 1
K
K
K
转换结果是:0.8125 = 0.1101B。
3. 二进制数转换成十六进制数 < br>二进制数转换成十六进制数的转换方法是:从小数点开始,整数
部分向左,小数部分向右,每四位 二进制数为一组用一位十六进
制数表示,不足四位的用0补足。
【例1.5】 把二进制数.10101转换成十六进制数。
二进制数 (0)111 1011 0101. 1010 1(000)
十六进制 7 8 5 . A 8
转换结果是:.10101B = 7B5.A8H。

4. 十六进制数转换成二进制数
十六进制数转换成二进制数的转换方法是 :每一位十六进制
数用相应的四位二进制数代替,多余的0舍去。
【例1.6】 把十六进制数9F.8转换成二进制数。
十六进制数 9 F . 8
二进制数 1001 1111 . 1000
转换结果是:9F.8H = 10011111.1B。
计算机中的数制之进位计数制的计量单位
二进制信息的基本单位是位(bit),由8位二进 制信息组成一个


字节(Byte)。表示位和字节的英文符号分别为 b 和 B。
在国际单位制中,十进制是以3个十进位分挡的,即:
千(kilo)= 10 3 = 1k = 1000;
兆(mega)= 10 6 = 1M = 10 3 k = 1000k;
吉(giga)= 10 9 = 1G = 10 3 M = 1000M;
太(tera)= 10 12 = 1T = 10 3 G = 1000G。
在国际单位制中,二进制是以10个二进位分挡的,即:
千(kilo)= 2 10 = 1K = 1024;
兆(mega)= 2 20 = 1M = 2 10 K = 1024K;
吉(giga)= 2 30 = 1G = 2 10 M = 1024M;
太(tera)= 2 40 = 1T = 2 10 G = 1024G。
计算机中数的表示之机器数和真值
数在计算机中的表示形式称为机器数,而把这个数的本身称为真
值。
1.数的符号数值
在计算机中,数的符号只能用0和1表示,以0表示正号,
以1表 示负号。在计算机中通常把符号放在最高位,该位称
为符号位。一个机器数是由符号位和数值位两部分组 成的。
例如,真值是+1001B,对应的机器数为01001B;真值是
1001B,对应的 机器数为11001B。
2.数的位数固定
计算机内一次能表示二进制数的位数叫做计算 机的字长,一台计


算机的字长是固定的。字长为8位叫做一个字节,计算机字
长 一般都是字节的整数倍,如字长8位、16位、32位、64
位及128位。
1.2 计算机中数的表示之机器数的表示方法

常用的机器数表示方法有4种:原码、反码、补码和移码。
1.原码表示法
原码表示法为:正数的符号位为0,负数的符号位为1,数值
位是真值的绝对值。
即: X =+X1X2…Xn,[X]原 = 0X1X2…Xn;
X =
1X1X2…Xn。
【例1.7】 写出真值X1 = +1001010,X2 = 1001010的原码
[X1]原 = 01001010,[X2]原 = 11001010。
【例1.8】 写出8位原码表示的最大和最小整数。
【例1.9】 Max[X]原 = [01111111]原 =+1111111B =+127;
【例1.10】 Min[X]原 = [11111111]原 =
用8位原码表示整数的范围是+127~
2.反码表示法
反码表示法为:正数的符号 位为0,数值位取真值;负数的符号
位为1,数值位取真值的相反码。
即:X=+X1X2…Xn
X=
,[X]反 = 0 X1X2…Xn ;
1111111B =
127。
127。
X1X2…Xn,[X]原 =
X1X2…Xn , [X]反 = 1 X1X2…Xn


【例1.9】 写出真值X1 =+1100111,X2 = 1100111的反码。
[X1]反 = 01100111,[X2]反 = 10011000。
【例1.10】 写出8位反码表示的最大和
最小整数。
Max[X]反 = [01111111]反 = +1111111B =+127;
Min[X]反 = [10000000]反 =
用8位反码表示整数的范围是+127~
3.补码表示法
用补码表示计算机中的有符 号数,正数的符号位为0,数值位取
真值;负数的符号位为1,数值位取真值的相反码加1。
即: 当X = +X1X2…Xn时,[X]补 = 0X1X2…Xn;
当X = X1X2…Xn时, [X]补 = 1( X1X2…Xn+1)
1001110的补码。
1111111B = 127。
127。
【例1.11】 写出真值X1 = +1001110,X2 =
[X1]补= 01001110 [X2]补= 10110010
【例1.12】 写出8位补码表示的最大和最小整数。
Max[X]补= [01111111]补 =+1111111B =+127
Min[X]补 = [10000000]补 =
8位补码表示整数的范围是+127~
10000000B = 128
128。
用补码表示法能使减法运算转化为加法运算,并且在进行加减运
算时,能使符号位和数值位一起 运算,从而简化运算规则。
4.移码表示法
移码也称作增码,就是在补码的基础上增加一个 偏移量。根据多


数高级程序语言软件包的实数标准格式,字长为8位的移码,其
偏移量为127(7FH);字长为11位的移码,其偏移量为1023
(3FFH)。
【例1.14】 写出X1 =+0000011B,X2 = 0000011B的移码。
[X1]移 = [X1]补+偏移量 = [00000011B]补+01111111B =
[10000010B]移;
[X2]移 = [X2]补+偏移量= [11111101B]补+01111111B =
[01111100B]移。
计算机中数的表示之数的定点和浮点表示

任意一个二进制数都可以表示为纯整数或纯小数与一个2的整
数次幂的乘积。即:
N = 2 E×S
其中:S称为数N的尾数,是数值的有效数字;E称为数N的阶
码(指数 ),指明小数点的位置;2称为阶码的底。
1.定点数表示法
当阶码为常数时,这种数的表示方法称为定点数表示法。
定点数表示法的小数点位置有以下两种约定:
1)所有机器数的小数点位置隐含在数的最低位之后,把所有的
数化为纯整数,这称为定点整数。

2)所有机器数的小数点位置隐含在符号位之后,把所有的数化为
纯小数,这称为定点小数。
定点数表示方法简单直观,但表示数的范围较小。


2.浮点数表示法
当阶码取不同的数值时,这种数的表示方法称为浮点数表示法。
浮点数在计算机中的表示形式如下:
Sf

E

S

其中:E是阶码,常用移码表示;Sf是尾数的符号位;S是尾数,
一般采用原码表示。
浮点数表示法也有以下两种形式:
单精度浮点数(Single):字长为32位实数,由1 位符号、8
位阶码和23位尾数组成,以4个字节形式存储。
双精度浮点数(Dou ble):字长为64位实数,由1位符
号、11位阶码和52位尾数组成,以8个字节形式存储。
1.3 计算机中的编码之数字编码
计算机的输入输出数据是十进制数,而计算机内部运算 是用
二进制数,因此十进制数必须用二进制数形式表达。用四位二进
制数表示一位十进制数的编 码,称为二进制编码的十进制数,简
称BCD码。最常用的是8421BCD码。
8421BCD码的4个二进制位自左向右每位的权分别是
8, 4, 2, 1,用二进制数0000~1001十个编码分别表示十进制数的
0~9
在一个字 节内存放两位BCD数称为压缩的BCD数,如
压缩的BCD数10011001B表示十进制数99。 在一个字节内只存


放一位BCD数称为非压缩的BCD数,高半个字节为0,低半个字节为BCD数,如非压缩的BCD数00001001B表示十进制数9。
在计算机中的扩展精度 BCD数占10个字节(80位),第1~9
个字节是压缩的BCD数,也就是18位BCD数,第10 个字节是
符号位。

8421BCD码和十进制数的对应关系如表1.2所示
表1.2 8421BCD编码表

十 进 制 数

0

1

2

3

4

5

6

7

8

9

8 4 2 1

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1


计算机中的编码之校验码
由于计算机结构、工艺及电气性能等方 面因素的影响,常常使数
据在存取、传输的过程中出现错误,为了及时发现并修正错误,
计算机 采用校验码对传输的数据进行校验和修正。校验码的种类
很多,最普遍使用的检验码是奇偶校验码。 < br>奇偶校验码是将每个信息的代码,扩展一个二进制位作为校验
位。校验位的取值原则是:若是奇校 验,在编码中含有“1”的
个数连同校验位的取值共有奇数个;若是偶校验,在编码中含有
“1 ”的个数连同校验位的取值共有偶数个。
例如,是奇校验,信息编码是10001000B,在信息 中有两个“1”,
所以校验位取值为“1”,使“1”的总数有奇数个,该信息的奇
校验码为1 10001000B。
在计算机中进行代码检验时,当检测信息编码中“1”的个数与
预先 设定的奇偶校验不符时,表明被检测的信息有误。
计算机中的编码之字符编码
数字、字母、通用符号和控制符号等统称为字符,用来表示
字符的二进制代码称为字符编码。
国际上普遍采用的一种字符编码是美国国家信息交换
代码(American Standard Code for Information Interchange),简称
ASCII码



ASCII码选择了4类共128个常用字符,说明如下:
数字0~9:ASCII码的10个数字字符和BCD码是两个
不同概念。
字母:包括26个大写英文字母和小写英文字母。
通用符号:如 * 、 :、%、= 等。
控制符号:如ESC、CR等。
计算机中的编码之汉字编码
1.区位码
汉字的区位编码是把汉字所在位置的区号和位号合起来(区号
在前,位号在后)得到的四位 数字的编码。例如,“啊”字的区
位编码是1601,“波”字的区位编码是1808。

2.国标码
汉字的国标码是用二进制表示汉字的编码,行和列都是7位
二进制编码。
3.内码
汉字在计算机内部存储、运算的信息代码称为汉字的内码。
为了便于汉字和西文信息处理有较好的兼 容性,每个字节的最高
位作为区分ASCII码和汉字内部码的标识位。标识位为“0”,则
是 ASCII码,又称为半角字符编码;标识位为“1”,则是汉字内
码,采用汉字内码的字符编码称为全 角字符编码。
无论是何种汉字输入方法,汉字的内码都是相同的。

爱美女-天堂鸟花


grip-机械效率公式


宽带维护-悲伤的爱情故事


雪梨汁-哪些旅游景点好玩


望梅止渴的故事-广东有什么大学


市场调研表-离家出走


别离-逝去日子吉他谱


王龙友-网名网站