计算机中的数制和编码
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、被表示的数的绝对值的大小 2、被表示的数的有效数字的多少
试比较下面二组数字: 3×102 和 3×1032 3.14 和 3.14159265
用科学计数法表示:N=2P×S
S 尾数(N的全部有效数字) P 阶码(指明小数点的位置) P和S均用二进制数表示,2为阶码的底
定点数:小数点位置固定不变, P=0 浮点数:小数点位置随P可变,P有一定的取值范围
+43=00101011 -43=10101011
真值 机器数
真值 机器数
机器数:带有数码化正负号的数 真值:机器数所代表的实际数值
3、有符号数的三种表示方法 原码表示方法
+43=00101011 -43=10101011
反码表示方法 (负数是原码求反)
+43=00101011 -43=11010100
二、不同进制数的相互转换
二进制数与八进制数、十六进制数之间的相互转换
方法简便
8=23
16=24
三位二进制数对应一位八进制数 四位二进制数对应一位十六进制数
二进制
八进制
以小数点为中心,整数部分从低位向高 位(即从右向左)每三位用一个八进制数来 表示,最后一组不足三位时,用 0 补齐;小 数部分从高位向低位(即从左向右)每三位 用一个八进制数来表示,最后不足三 位时, 用0补齐。
+1
……
……
……
126
+126
+126
127
+127
+127
128
-0
-127
129
-1
-126
……
……
254
-126
-1
255
-127
-0
补码 0
+1 …… +126 +127 -128 -127 …… -2 -1
用原码或反码时,0的表示有+0和 -0之分 [-0]原=10000000 [+0]原=00000000 [-0]反=11111111 [+0]反=00000000 用补码时,0的表示是唯一的
补码表示方法 (负数是原码求反加1)
+43=00101011 -43=11010101
正数相同
负数不同
二进制数 00000000 00000001
…… 01111110 01111111 10000000 10000001
…… 11111110 11111111
无符号整数 原码
反码
0
+0
+0
1
+1
128 + 16 + 2 + 1=147
按权展开,乘权相加
二、不同进制数的相互转换
二进制数转换成十进制数
小数部分
例: (0.10011)2 = (0.59375)10
2-1 2-4 2-5 0.5 + 0.0625 + 0.03125=0.59375
按权展开,乘权相加
二、不同进制数的相互转换
十进制数转换成二进制数
整数
例: (307)10 = ( 100110011 )2
307
2 153
除
2 76
二
2 38
取 余
2 19 29
24
22
余1 (低位)
余1 余0 余0 余1 余1 余0
21
余0
故:0(307)10=(10余011 1(0高01位1))2
二、不同进制数的相互转换
十进制数转换成二进制数
例: (0.625)10 = ( 0.101
十进制数
R=10 ai = 0、1、2、…、9
二进制数
R=2 ai = 0、1
八进制数 十六进制数
R=8 ai = 0、1、2、…、7 R=16 ai = 0、1、2、…、9、
A、B、C、D、E、F
二、不同进制数的相互转换
二进制数转换成十进制数 整数部分
例: (10010011)2 = ( 147 )10 27 24 21 20
§2.1 数制 不同进制数的相互关系和转换
一、计数制
权
十进制数的计数方法
例:427=4×102+2×101+7×100
1、有十个符号:0、1、2、…、9
基 = 10
2、每个符号所代表的数与所处位置有关
3、遵从“逢十进一”的规则
任意进制数的构造
R n1
N= ai
i
im
n为整数位数 m为小数位数
溢出产生的原因和判断
在运算过程中,由于次高位向最高位进位,而最高位 没有发生进位或最高位发生进位,而次高位未向最高进, 造成最高位(符号位)发生不应有的变化,均会溢出
可能发生溢出的情况:同号数相加,异号数相减
解决溢出的办法:1、增加字长 2、采用浮点数
§2.4 定点数与浮点数
在讨论用机器数表示数的范围问题 上,主要涉及二个问题:
例如:
将(16.327)8转换为二进制数。 (16.327)8=(001 110 . 011 010 111)2 1 6.3 2 7 =(1110.011010111)2
二进制
十六进制
以小数点为中心,整数部分从低位向高位(即 从右向左)每四位用一个十六进制数来表示,最后 一组不足四位时,用 0 补齐;小数部分从高位向低 位( 即从左向右 )每四位用一个十六进制数来表 示,最后不足四 位时,用 0 补齐。
D
十进制数
十进制数
§2.2 码制 字符的常用编码
一、BCD码(二—十进制数)
编码方式:用四位二进制数表示一位十进制数
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010 1011 1100 1101 1110 1111
丢弃不用
一、BCD码(二—十进制数)
汉字编码字符集
国标码(GB2312-80)的组成及结构
每个汉字用二个字节来表示(16位)
每个字节只用7位,最高位为0
组成:(共7445个字符)
字母、数字和符号:682个 一级常用字:3755个(按音序排列) 二级常用字:3008个(按偏傍部首)
结构:
码表共分为94行(十进制编号0~93)和94 列( 十进制编号0~93 ),行号称为区号,列号称 为位号,每个汉字或字符在码表中所处的区和 位构成该汉字的“区位码”。
一、定点数
整数表示法: Sf
例:01100000 表示96 1110000 表示-32(补码) 数符
S
尾数
小数点
小数表示法: Sf
S
例:01100000 表示0.75 11100000 表示-0.25(补码)
可表示范围为+127/128 ~ -1
小数点
二、浮点数
Pf
P
Sf
S
阶符 阶码
数符
尾数
阶码常用补码表示,尾数常为用原 码表示的纯小数,且最高位为1 。
00110000 [48]补
00100001 [33]补 + 11110001 [-15]补
100010010 [18]补
例:-33+15 = -18
11011111 [-33]补 + 00001111 [15]补
11101110 [-18]补
例:-33-15 = -48
11011111 [-33]补 + 11110001 [-15]补
§2.3 有符号数的表示
二、补码的运算
基本运算规则
正数的补码就是它的原码 负数的补码是对应正数的补码求补
[X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补-[Y]补= [X]补+[-Y]补 采用补码可以将加法和减法统一为加法
例:33+15 = 48
例:33-15 = 18
00100001 [33]补 + 00001111 [15]补
常用的ASCII码(需要记住)
0011 0000B 30H ‘0’
0100 0001B 41H ‘A’
0011 0001B 31H ‘1’
0100 0010B 42H ‘B’
…………
0100 0011B 43H ‘C’
0011 0111B 37H ‘7’
…………
0011 1000B 38H ‘8’
组合式BCD码:一个字节(8位)为2位BCD码
(01101001)BCD = (69)10
非组合式BCD码:一个字节(8位)为1位BCD码
(00001000)
(8)10
1、BCD码实际上是十进制数(不是二进制数)
2、BCD码转换成二进制数应按十进制数向二进制 数转换的办法进行
二、ASCII码(美国标准信息交换码)
例如:
将(111001011010.10111001)2转换为十六进制数。 (1110 0101 1010 . 1011 1001)2 E 5 A. B 9 =(E5A.B9)16
常用不同进制数在书写时的表示方法
10011100B
B
二进制数
337Q
Q
八进制数
4B7DH
H
十六进制数
1ห้องสมุดไป่ตู้39D 1339
数值在计算 机内如何表 示?
1.正整数(无符号整数)
一台计算机所表示的数的范围与其字长有 关
8位字长:0~28-1(0~255) 16位字长:0~216-1(0~65535) 32位字长:0~232-1
2.有符号整数
一般使用最高位(最左边的一位)作为其符号位, 而且用“0”表示正数,“1”表示负数。如:
区位码:是外码,主要用于汉字输入。
国标码:是内码,主要用于不同汉字系统之间的
传输和交换。
机内码:是内码,主要用于计算机内部的存储和
处理。
三者之间的关系如下:
Q+32=G
十 G+128=J
进 制
Q+160=J
表
示
Q+20H=G
G+80H=J
十 六
Q+A0H=J
进 制
表
示
§2.3 有符号数的表示
一、机器数与真值
阶码和尾数可以采用不同的码制, 由机器决定。
因为小数部分乘以 2 会无限 循环下去,故取近似值。
“ 0舍1入 ”
0.
(低位)
08
二、不同进制数的相互转换
二进制、八进制、十六进制转换成十进制
-----------按权展开相加
例:(101.101)2=1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=(5.625)10 (34.6)8=3×81+4×80+6×8-1=(28.75)10 (2AB.C)16=2×162+10 ×161+11 ×160+12 ×16-1 = 512 + 160 + 11 + 0.75 = (683.75)10
0110 0001B 61H ‘a’
0011 1001B 39H ‘9’
0110 0010B 62H ‘b’
…………
0110 0011B 63H ‘c’
00001000B 0AH
换行LF …………
00001011B 0DH 回车CR
0010 0000B 20H 空格SP
三、汉字的编码
西文字符的结构决定了它只要128个ASCII字符就 能够满足计算机进行信息处理的需要。而中文字符 有数万之众,为了适应计算机处理汉字信息的需要, 1981年我国颁布了“信息交换用汉字编码字符 集 ·基本集”(GB2312 - 80)供汉字信息在不同的 计算机系统之间交换信息使用 , 该标准称为 “ 国标 码”。
[0]补=00000000
采用补码表示后,可表示有符号数的范围如下 : 8位字长:-27+1~+27-1(-128 ~ +127) 16位字长:-215+1~+215-1(-32768 ~ +32767) 32位字长:-231+1~+231-1
如表示一个无符号数, 8位字长可表示范围为 0~255 16位字长可表示范围为 0~65535
111010000 [-48]补
三、补码运算的溢出问题
运算结果超出有符号数的可表示范围,称为溢出
例:33+96 = 129
00100001 [33]补 01100000 [96]补 10000001 [-127]补
例:-33-96 = -129
11011111 [-33]补 10100000 [-96]补 101111111 [127]补
用字符所在的区号(高字节)和位号(低字节)的二进制代 码来表示, 称为该汉字的区位码。
将每个汉字的区号和位号加上32之后, 相应的二进制代 码就是国标码.
为了与ASCII码区别开来,将汉字的国标码的高字节和 低字节的最高位置 “1”。这种双字节( 16 )位的汉字编码, 称为汉字机内码。
区位码、国标码、机内码的用途及相互关系
乘1 二 取0 整
1
0. 625 ×2
1. 250 ×2 0. 500 ×2
1. 000
小数
)2
注意:
并非所有的十进制小数都能用有限位的二进制
小数来表示。
例2. 将(0.63)10转换为二进制。
0. 63 ×2 1. 26
(高位) (0.63)10=(0.1010)2
×2
0. 52 ×2 1 . 04 ×2
西文字符在计算机中的表示
10个数字:0~9 26个大写字母:A~Z 26个小写字母:a~z 32个可打印字符 34个不可打印字符
共128个字符
ASCII码的代码组成结构
b7 b6 b5 b4 b3 b2 b1 b0
0
最高位 高3位
低4位
bi=0或1 (i=0~6) 共有27=128种不同的表示。
微机中一个字节是8位,尽管ASCII码只用了低7 位,在计算机中一个ASCII字符仍用一个字节( 8bit ) 的空间来存放,最高位保持为“0”
试比较下面二组数字: 3×102 和 3×1032 3.14 和 3.14159265
用科学计数法表示:N=2P×S
S 尾数(N的全部有效数字) P 阶码(指明小数点的位置) P和S均用二进制数表示,2为阶码的底
定点数:小数点位置固定不变, P=0 浮点数:小数点位置随P可变,P有一定的取值范围
+43=00101011 -43=10101011
真值 机器数
真值 机器数
机器数:带有数码化正负号的数 真值:机器数所代表的实际数值
3、有符号数的三种表示方法 原码表示方法
+43=00101011 -43=10101011
反码表示方法 (负数是原码求反)
+43=00101011 -43=11010100
二、不同进制数的相互转换
二进制数与八进制数、十六进制数之间的相互转换
方法简便
8=23
16=24
三位二进制数对应一位八进制数 四位二进制数对应一位十六进制数
二进制
八进制
以小数点为中心,整数部分从低位向高 位(即从右向左)每三位用一个八进制数来 表示,最后一组不足三位时,用 0 补齐;小 数部分从高位向低位(即从左向右)每三位 用一个八进制数来表示,最后不足三 位时, 用0补齐。
+1
……
……
……
126
+126
+126
127
+127
+127
128
-0
-127
129
-1
-126
……
……
254
-126
-1
255
-127
-0
补码 0
+1 …… +126 +127 -128 -127 …… -2 -1
用原码或反码时,0的表示有+0和 -0之分 [-0]原=10000000 [+0]原=00000000 [-0]反=11111111 [+0]反=00000000 用补码时,0的表示是唯一的
补码表示方法 (负数是原码求反加1)
+43=00101011 -43=11010101
正数相同
负数不同
二进制数 00000000 00000001
…… 01111110 01111111 10000000 10000001
…… 11111110 11111111
无符号整数 原码
反码
0
+0
+0
1
+1
128 + 16 + 2 + 1=147
按权展开,乘权相加
二、不同进制数的相互转换
二进制数转换成十进制数
小数部分
例: (0.10011)2 = (0.59375)10
2-1 2-4 2-5 0.5 + 0.0625 + 0.03125=0.59375
按权展开,乘权相加
二、不同进制数的相互转换
十进制数转换成二进制数
整数
例: (307)10 = ( 100110011 )2
307
2 153
除
2 76
二
2 38
取 余
2 19 29
24
22
余1 (低位)
余1 余0 余0 余1 余1 余0
21
余0
故:0(307)10=(10余011 1(0高01位1))2
二、不同进制数的相互转换
十进制数转换成二进制数
例: (0.625)10 = ( 0.101
十进制数
R=10 ai = 0、1、2、…、9
二进制数
R=2 ai = 0、1
八进制数 十六进制数
R=8 ai = 0、1、2、…、7 R=16 ai = 0、1、2、…、9、
A、B、C、D、E、F
二、不同进制数的相互转换
二进制数转换成十进制数 整数部分
例: (10010011)2 = ( 147 )10 27 24 21 20
§2.1 数制 不同进制数的相互关系和转换
一、计数制
权
十进制数的计数方法
例:427=4×102+2×101+7×100
1、有十个符号:0、1、2、…、9
基 = 10
2、每个符号所代表的数与所处位置有关
3、遵从“逢十进一”的规则
任意进制数的构造
R n1
N= ai
i
im
n为整数位数 m为小数位数
溢出产生的原因和判断
在运算过程中,由于次高位向最高位进位,而最高位 没有发生进位或最高位发生进位,而次高位未向最高进, 造成最高位(符号位)发生不应有的变化,均会溢出
可能发生溢出的情况:同号数相加,异号数相减
解决溢出的办法:1、增加字长 2、采用浮点数
§2.4 定点数与浮点数
在讨论用机器数表示数的范围问题 上,主要涉及二个问题:
例如:
将(16.327)8转换为二进制数。 (16.327)8=(001 110 . 011 010 111)2 1 6.3 2 7 =(1110.011010111)2
二进制
十六进制
以小数点为中心,整数部分从低位向高位(即 从右向左)每四位用一个十六进制数来表示,最后 一组不足四位时,用 0 补齐;小数部分从高位向低 位( 即从左向右 )每四位用一个十六进制数来表 示,最后不足四 位时,用 0 补齐。
D
十进制数
十进制数
§2.2 码制 字符的常用编码
一、BCD码(二—十进制数)
编码方式:用四位二进制数表示一位十进制数
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010 1011 1100 1101 1110 1111
丢弃不用
一、BCD码(二—十进制数)
汉字编码字符集
国标码(GB2312-80)的组成及结构
每个汉字用二个字节来表示(16位)
每个字节只用7位,最高位为0
组成:(共7445个字符)
字母、数字和符号:682个 一级常用字:3755个(按音序排列) 二级常用字:3008个(按偏傍部首)
结构:
码表共分为94行(十进制编号0~93)和94 列( 十进制编号0~93 ),行号称为区号,列号称 为位号,每个汉字或字符在码表中所处的区和 位构成该汉字的“区位码”。
一、定点数
整数表示法: Sf
例:01100000 表示96 1110000 表示-32(补码) 数符
S
尾数
小数点
小数表示法: Sf
S
例:01100000 表示0.75 11100000 表示-0.25(补码)
可表示范围为+127/128 ~ -1
小数点
二、浮点数
Pf
P
Sf
S
阶符 阶码
数符
尾数
阶码常用补码表示,尾数常为用原 码表示的纯小数,且最高位为1 。
00110000 [48]补
00100001 [33]补 + 11110001 [-15]补
100010010 [18]补
例:-33+15 = -18
11011111 [-33]补 + 00001111 [15]补
11101110 [-18]补
例:-33-15 = -48
11011111 [-33]补 + 11110001 [-15]补
§2.3 有符号数的表示
二、补码的运算
基本运算规则
正数的补码就是它的原码 负数的补码是对应正数的补码求补
[X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补-[Y]补= [X]补+[-Y]补 采用补码可以将加法和减法统一为加法
例:33+15 = 48
例:33-15 = 18
00100001 [33]补 + 00001111 [15]补
常用的ASCII码(需要记住)
0011 0000B 30H ‘0’
0100 0001B 41H ‘A’
0011 0001B 31H ‘1’
0100 0010B 42H ‘B’
…………
0100 0011B 43H ‘C’
0011 0111B 37H ‘7’
…………
0011 1000B 38H ‘8’
组合式BCD码:一个字节(8位)为2位BCD码
(01101001)BCD = (69)10
非组合式BCD码:一个字节(8位)为1位BCD码
(00001000)
(8)10
1、BCD码实际上是十进制数(不是二进制数)
2、BCD码转换成二进制数应按十进制数向二进制 数转换的办法进行
二、ASCII码(美国标准信息交换码)
例如:
将(111001011010.10111001)2转换为十六进制数。 (1110 0101 1010 . 1011 1001)2 E 5 A. B 9 =(E5A.B9)16
常用不同进制数在书写时的表示方法
10011100B
B
二进制数
337Q
Q
八进制数
4B7DH
H
十六进制数
1ห้องสมุดไป่ตู้39D 1339
数值在计算 机内如何表 示?
1.正整数(无符号整数)
一台计算机所表示的数的范围与其字长有 关
8位字长:0~28-1(0~255) 16位字长:0~216-1(0~65535) 32位字长:0~232-1
2.有符号整数
一般使用最高位(最左边的一位)作为其符号位, 而且用“0”表示正数,“1”表示负数。如:
区位码:是外码,主要用于汉字输入。
国标码:是内码,主要用于不同汉字系统之间的
传输和交换。
机内码:是内码,主要用于计算机内部的存储和
处理。
三者之间的关系如下:
Q+32=G
十 G+128=J
进 制
Q+160=J
表
示
Q+20H=G
G+80H=J
十 六
Q+A0H=J
进 制
表
示
§2.3 有符号数的表示
一、机器数与真值
阶码和尾数可以采用不同的码制, 由机器决定。
因为小数部分乘以 2 会无限 循环下去,故取近似值。
“ 0舍1入 ”
0.
(低位)
08
二、不同进制数的相互转换
二进制、八进制、十六进制转换成十进制
-----------按权展开相加
例:(101.101)2=1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=(5.625)10 (34.6)8=3×81+4×80+6×8-1=(28.75)10 (2AB.C)16=2×162+10 ×161+11 ×160+12 ×16-1 = 512 + 160 + 11 + 0.75 = (683.75)10
0110 0001B 61H ‘a’
0011 1001B 39H ‘9’
0110 0010B 62H ‘b’
…………
0110 0011B 63H ‘c’
00001000B 0AH
换行LF …………
00001011B 0DH 回车CR
0010 0000B 20H 空格SP
三、汉字的编码
西文字符的结构决定了它只要128个ASCII字符就 能够满足计算机进行信息处理的需要。而中文字符 有数万之众,为了适应计算机处理汉字信息的需要, 1981年我国颁布了“信息交换用汉字编码字符 集 ·基本集”(GB2312 - 80)供汉字信息在不同的 计算机系统之间交换信息使用 , 该标准称为 “ 国标 码”。
[0]补=00000000
采用补码表示后,可表示有符号数的范围如下 : 8位字长:-27+1~+27-1(-128 ~ +127) 16位字长:-215+1~+215-1(-32768 ~ +32767) 32位字长:-231+1~+231-1
如表示一个无符号数, 8位字长可表示范围为 0~255 16位字长可表示范围为 0~65535
111010000 [-48]补
三、补码运算的溢出问题
运算结果超出有符号数的可表示范围,称为溢出
例:33+96 = 129
00100001 [33]补 01100000 [96]补 10000001 [-127]补
例:-33-96 = -129
11011111 [-33]补 10100000 [-96]补 101111111 [127]补
用字符所在的区号(高字节)和位号(低字节)的二进制代 码来表示, 称为该汉字的区位码。
将每个汉字的区号和位号加上32之后, 相应的二进制代 码就是国标码.
为了与ASCII码区别开来,将汉字的国标码的高字节和 低字节的最高位置 “1”。这种双字节( 16 )位的汉字编码, 称为汉字机内码。
区位码、国标码、机内码的用途及相互关系
乘1 二 取0 整
1
0. 625 ×2
1. 250 ×2 0. 500 ×2
1. 000
小数
)2
注意:
并非所有的十进制小数都能用有限位的二进制
小数来表示。
例2. 将(0.63)10转换为二进制。
0. 63 ×2 1. 26
(高位) (0.63)10=(0.1010)2
×2
0. 52 ×2 1 . 04 ×2
西文字符在计算机中的表示
10个数字:0~9 26个大写字母:A~Z 26个小写字母:a~z 32个可打印字符 34个不可打印字符
共128个字符
ASCII码的代码组成结构
b7 b6 b5 b4 b3 b2 b1 b0
0
最高位 高3位
低4位
bi=0或1 (i=0~6) 共有27=128种不同的表示。
微机中一个字节是8位,尽管ASCII码只用了低7 位,在计算机中一个ASCII字符仍用一个字节( 8bit ) 的空间来存放,最高位保持为“0”