760 likes | 871 Vues
第 2 章 信息的表示与数字化. 本章要点. 二进制及其运算 数值在计算机中的表示 文本信息在计算机中的表示 多媒体信息的数字化. 目 录. 第一节 二进制及其运算 第二节 数值在计算机中的表示 第三节 文本信息在计算机中的表示 第四节 多媒体信息的数字化技术. 第一节 二进制及其运算. 计算机采用二进制数据的原因 容易实现 仅有两种稳定状态的物理元件在技术上很容易实现,如电位的高和低, 0 和 1 这两个数字就表示这两种状态。 。 运算简单 二进制的运算规则是“逢二进一,借一当二”,算术运算特别简单。 便于表示逻辑量
E N D
本章要点 • 二进制及其运算 • 数值在计算机中的表示 • 文本信息在计算机中的表示 • 多媒体信息的数字化
目 录 • 第一节 二进制及其运算 • 第二节 数值在计算机中的表示 • 第三节 文本信息在计算机中的表示 • 第四节 多媒体信息的数字化技术
第一节 二进制及其运算 • 计算机采用二进制数据的原因 • 容易实现 • 仅有两种稳定状态的物理元件在技术上很容易实现,如电位的高和低,0和1这两个数字就表示这两种状态。 。 • 运算简单 • 二进制的运算规则是“逢二进一,借一当二”,算术运算特别简单。 • 便于表示逻辑量 • 二进制的0和1与逻辑量“假”和“真”相对应,便于计算机进行逻辑判别和逻辑运算。
第一节 二进制及其运算 • 计数制的基本概念 • 计数制:利用符号来计数的方法。按进位的方法计数就称为进位计数制。 • 进位计数制的三个基本概念 • 数码:某种进位计数制中用来计数的符号。如十进制的数码有0、1、2、3、4、5、6、7、8、9;二进制的数码有0、1。 • 基:某种进位计数制的数码个数。如十进制基为10,二进制基为2。 • 权:在进位计数制中,数码在不同的位置上有不同的值,确定数位上实际值所乘因子称为权。
第一节 二进制及其运算 • 十进制 • 数码:0、1、2、3、4、5、6、7、8、9。 • 运算规则:“逢十进一,借一当十”。 • 基:10,各相邻位权的比值为10,权的一般形式10n(整数部分n取值0,1,2,……;小数部分n取值-1,-2,……)。 • 任何十进制数都可以按权展开表达。 例如: 12345.678=1×104+2×103+3×102+4×101+5×100+6×10-1+7×10-2+8×10-3 • 为了明确表示是十进制数,也可以在数后加D,或将数用小括号括起,在右下角标上基10,例如: 12345.678D或(12345.678)10。
第一节 二进制及其运算 • 二进制 • 数码有0、1。 • 运算规则“逢二进一,借一当二”。 • 基是2,各相邻位权的比值为2,权的一般形式2n(整数部分n取值0,1,2,……;小数部分n取值-1,-2,……)。 • 任何二进制数都可以按权展开表达。 例如:(11001.011)2=1×24+1×23+1×20+1×2-2+1×2-3 • 二进制数表示时,可在数后加B,或将数用小括号括起,在右下角标上基2,例如: 11001.011B或(11001.011)2。
第一节 二进制及其运算 • 八进制 • 数码:0、1、2、3、4、5、6、7。 • 运算规则:“逢八进一,借一当八”。 • 基:8,各相邻位权的比值为8,权的一般形式8n (整数部分n取值0,1,2,……;小数部分n取值-1,-2,……)。 例如: (12345.671)8 = 1×84 + 2×83+3×82+4×81+5×80+ 6×8-1+7×8-2+1×8-3 • 八进制数表示时,可在数后加字母O,或将数用小括号括起,在右下角标上基8,例如: 12345.671O或(12345.671)8。
第一节 二进制及其运算 • 十六进制 • 数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A,B,C,D,E,F(也可以是小写字母)分别表示十进制值10,11,12,13,14,15。 • 运算规则:“逢十六进一,借一当十六”。 • 基:16,各相邻位权的比值为16,权的一般形式16n。 例如: (FE12A.6BD)16=15×164+14×163+1×162+2×161+10×160+6×16-1+11×16-2+13×16-3 • 十六进制数表示时,可在数后加H,或将数用小括号括起,在右下角标上基16,例如: FE12A.6BDH或(FE12A.6BD)16
第一节 二进制及其运算 • 数制之间的转换 • 二进制数、八进制数、十六进制数转换为十进制数 • 将一个二、八、十六进制数转换成十进制数,只要将它写成按权展开表达式,然后求出该表达式的值 例2.1 将二进制数(11001.011)2转换成等值的十进制数。 (11001.011)2=1×24+1×23+1×20+1×2-2+1×2-3 =16+8+1+0.25+0.125 =25.375
第一节 二进制及其运算 • 数制之间的转换 例2.2 将八进制数(123.4)8转换成等值的十进制数。 (123.4)8=1×82+2×81+3×80+4×8-1 =64+16+3+0.5 =83.5 例2.3 将十六进制数(12A.6)16转换成等值的十进制数。 (12A.6)16=1×162+2×161+10×160+6×16-1 =256+32+10+0.375 =298.375
第一节 二进制及其运算 • 十进制数转换为二进制数、八进制数、十六进制数 • 整数部分和小数部分转换方法不同,将这两部分分别转换,用小数点连接起来。 • 整数部分的转换方法:除以基数(2、8、16)取余法,将此十进制数整数部分除以基数取余数,最先取得的余数为转换后的最低位,商再除以基数取余数一直到商为0止,最后得到的余数是转换后的最高位,即余数从右到左排列就是转换后的结果。 • 小数部分的转换方法:采用乘以基数取整法,将此十进制数小数部分乘以基数取结果的整数部分,依次写在小数部分右边,再将结果小数部分乘以基数取结果的整数部分,一直到小数部分为0或者达到所要求的精度为止。
0.375 2 37 余数 取整数 × 2 …… 低位 0.75 0 高位 1 2 18 × 2 …… 2 9 0 1.5 1 …… 1 2 4 × 2 …… 1.0 1 2 2 0 低位 …… 2 1 0 …… 0 1 高位 第一节 二进制及其运算 • 例2.4 将十进制数(37.375)10转换成等值的二进制数。 得到:(37)10= (100101)2 (0.375)10=(0.011)2 则:(37.375)10=(100101.011)2。
0.375 余数 取整数 16 75 × 16 低位 …… 4 16 11 2.250 3.75 …… 0 4 高位 6.0 6 第一节 二进制及其运算 • 例2.5 将十进制数(75.375)10转换成等值的十六进制数。 得到:(75)10= (4B)16 (0.375)10=(0.6)16则:(75.375)10=(4B.6)16
第一节 二进制及其运算 • 例2.6 将十进制数(123.345)10转换成等值的八进制数。 取整数 0.345 ×8 高位 余数 2.760 2 8 123 ×8 低位 …… 3 6 8 15 6.08 ×8 …… 8 1 7 0.64 0 …… 0 1 高位 ×8 低位 5.12 5 得到:(123)10= (173)8 (0.345)10≈(0.2605)8 则:(123.345)10≈(173.2605)8
第一节 二进制及其运算 • 二进制数、八进制数、十六进制数间的相互转换 • 3位二进制数可以用1位八进制数表示,4位二进制数可以用1位十六进制数表示。 表2.1 二进制数和八进制数的转换表
第一节 二进制及其运算 • 二进制数、八进制数、十六进制数间的相互转换 表2.2 二进制数和十六进制数的转换表
第一节 二进制及其运算 • 二进制数、八进制数、十六进制数间的相互转换 • 例2.7 将二进制数(11101101111.100111)2转换成等值的十六进制数。 补0 补0 二进制数 0 1 1 1 0 1 1 0 1 1 1 1 . 1 0 0 1 1 1 0 0 十六进制数 7 6 F . 9 C 得到:(11101101111.100111)2= (76F.9C)16
第一节 二进制及其运算 • 二进制数、八进制数、十六进制数间的相互转换 • 例2.8 将八进制数(1346.752) 8转换成等值的二进制数。 八进制数 1 3 4 6 . 7 5 2 二进制数 0 0 1 0 1 1 1 0 0 1 1 0 . 1 1 1 1 0 1 0 1 0 得到:(1346.752) 8 =(1011100110.11110101)2
第一节 二进制及其运算 • 在计算机中,可对二进制数作两种基本运算:算术运算和逻辑运算,其中算术运算包括加、减、乘、除,逻辑运算包括与、或、非。 • 二进制数据的算术运算 • 加法运算 • 二进制数的加法运算规则如下: • 0+0=0 0+1=1 1+0=1 1+1=0 (向高位进位1)
1 1 0 1 0 + 1 0 1 1 1 0 0 1 0 1 第一节 二进制及其运算 • 例2.9 计算(11010)2+(1011) 2的值。 得到:(11010)2+(1011) 2 =(100101)2 • 两个二进制数相加,每位上有本位的被加数、加数和来自低位的进位(有进位为1,无则为0)3个数相加。
1 1 0 1 0 - 1 0 1 1 1 1 1 1 第一节 二进制及其运算 • 减法运算 • 二进制数的减法运算规则如下: • 0-0=0 1-1=0 1-0=1 0-1=1 (向高位借位1) • 例2.10 计算(11010)2 - (1011) 2的值 。 得到:(11010)2-(1011) 2 =(1111)2 • 两个二进制数相减,每位上有本位的被减数、来自高位的借位(借1当2,无借位则为0)和减数参与减法运算。
1 1 0 1 0 × 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 第一节 二进制及其运算 • 乘法运算 • 二进制数的乘法运算规则如下: • 0×0=0 0×1=0 1×0=0 1×1=1 • 例2.11 计算(11010)2×(1011) 2的值。 得到:(11010)2×(1011) 2 =(100011110)2 • 二进制乘法可以转换为加法和移位运算,每左移一位相当于乘以2,左移n位相当于乘以2n,计算机实际的乘法运算就是采用这种方法实现的。
1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 余数 ………… 1 0 第一节 二进制及其运算 • 除法运算 • 二进制数的除法运算规则如下: • 除法:0÷1=0 1÷1=1 • 例2.12 计算(1100101)2÷(1011) 2的值 。 得到:(1100101)2÷(1011) 2 ≈(1001)2 • 除法运算是乘法运算的逆运算,二进制除法可以转换为减法和移位运算,每右移一位相当于除以2,右移n位相当于除以2n。
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑信息的表示方法 • 可以表示“真”与“假”、“对”与“错”、“是”与“非”等具有逻辑性质的信息称为逻辑量,二进制的1和0在逻辑上可以表示这种信息。 • 一般来说,在计算机中,逻辑量用于判断某一事件是否成立,成立为1(真),事件发生;不成立为0(假),事件不发生。 • 基本逻辑运算 • 逻辑量间的运算称为逻辑运算,结果仍为逻辑量。 • 基本逻辑运算包括与(常用符号×、·、∧表示)、或(常用符号+、∨表示)、非(常用符号¯表示)。
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑与运算 • 逻辑与运算表示这样的逻辑关系,当一个事件的条件同时具备(为真)时,这一事件才会发生(为真),只要有一个条件不具备(为假),这一事件不会发生(为假)。 • 逻辑与运算规则:0∧0=0 0∧1=0 1∧0=0 1∧1=1 例如:某机关单位招考公务员,必要条件是本科毕业,党员,年龄30岁以下,三个条件分别用A、B、C表示,则符合报考条件的逻辑表达式为A∧B∧C。 表2.3 逻辑与真值表
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑或运算 • 逻辑或运算表示这样的逻辑关系,决定一个事件的条件中,有一个或一个以上条件具备(为真)时,这一事件就会发生(为真),只有当所有条件都不具备(为假),这一事件才不会发生(为假)。 • 逻辑或运算规则:0∨0=0 0∨1=1 1∨0=1 1∨1=1 例如:要得到“中央处理器”方面的有关信息,可以用“中央处理器”和“CPU”两个同义词来表达,这两个同义词分别用A、B表示,则符合条件的逻辑表达式为A∨B。 表2.4 逻辑或真值表
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑非运算 • 逻辑非运算表示逻辑的否定,决定一个事件的条件具备(为真)时,这一事件就不会发生(为假),当决定一个事件的条件不具备(为假)时,这一事件会发生(为真)。 • 逻辑运非算规则:0=1 1=0 例如:要选拔少数民族干部,这一事件只要表示为不是汉族即可,不需将众多的少数民族一一罗列出来。假定用A表示汉族,则表示少数民族的逻辑表达式为A。 表2.5 逻辑非真值表
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑运算是计算机中最基本的运算,三种基本逻辑运算可以混合使用。 • 逻辑运算的优先级依次为“非”、“与”和“或”;改变优先级的方法是使用括号“( )”,括号内的逻辑式优先执行。 • 若A、B、C、D分别表示本科、硕士、博士学历和女性,则符合“学历为本科以上女性”条件的逻辑表达式为(A∨B∨C)∧D。
第一节 二进制及其运算 • 二进制信息的逻辑运算 • 逻辑异或运算 • 逻辑异或运算表示这样的逻辑关系,决定一个事件的两个条件相同(都为真或都为假)时,这一事件就不会发生(为假),当决定一个事件的两个条件不相同(一个为真,一个为假)时,这一事件会发生(为真)。逻辑异或常用符号⊕表示。 • 逻辑异或运算规则:0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0 表2.6 逻辑异或真值表
11011101 10110100 11011101 10110100 ∧ ∨ 11111101 10010100 11011101 10110100 ⊕ 11011101=00100010 01101001 第一节 二进制及其运算 • 例2.5 逻辑运算举例。
第一节 二进制及其运算 • 信息的计量单位 • 各种信息在计算机内部都以二进制形式存储。 • 基本存储单位 • 位(bit):比特,计算机存储信息的最小单位,能够存储二进制数据中的一位数据0或1。 • 字节(Byte):计算机信息处理和存储分配的基本单位,由8位二进制位组成,简记为B, 1B=8bit。 • 扩展存储单位 • KB:千字节。1KB=210B=1024B • MB:兆字节。1MB=210KB=1024KB • GB:吉字节。1GB=210MB=1024MB • TB:太字节。1TB=210GB=1024GB
第二节 数值在计算机中的表示 • 数值在计算机中是以二进制形式表示的,除了要表示一个数的值外,还要考虑符号、小数点的表示。正、负号只能用0、1表示,小数点的表示总是隐含在某一位置上(称为定点数)或可以任意浮动(称为浮点数),小数点不占用数位。另外,要考虑如何表示更有利于计算机实现,使得表示数范围更大、精度更高。 • 整数的表示 • 用存放整数的最高数位表示数的符号,正数为0,负数为1,整数表示有:原码、反码、补码三种。由于补码运算规则统一、简单,在数值有效范围内,符号位与数值位一样参加运算,所以计算机系统中大多用补码表示整数。
第二节 数值在计算机中的表示 • 正整数的原码、反码、补码相同,最高位为符号位,值为0,其它位是数值位,存放整数的二进制形式。负整数三种编码表示方式不相同,以上以一个字节(8位)表示一个整数为例,介绍上述各种编码如何表示负整数 。 • 原码 • 最高位为符号位,值为1,其它位是数值位,存放负整数绝对值的二进制形式。 如 [-39]原=10100111,[-1]原=10000001 • 在原码表示中,0有两种表示形式,即:[+0]原=00000000,[-0]原=10000000 • 由于0占用2个编码,8位二进制数只能表示28-1=255个原码,所以8位带符号数原码表示的范围为-127~+127。 • 在参加运算时必须确定运算数的符号位及数值才能确定结果符号及结果值,所以处理麻烦,不便于运算。
第二节 数值在计算机中的表示 • 反码 • 最高位为符号位,值为1,数值位是原码的数值位按位求反。如 [-39]反=11011000,[-1]反=11111110 • 在反码表示中,0也有两种表示形式,即:[+0]反=00000000,[-0]反=11111111 • 8位带符号数反码表示的范围为-127~+127。反码运算也不方便,不实用。 • 补码 • 最高位为符号位,值为1,数值位是原码的数值位按位求反再加1,即反码加1。如 [-39]补=11011001,[-1]补=11111111 • 在补码表示中,0只有一种表示形式,即[+0]补=[-0]补=00000000 • 8位带符号数补码表示的范围为-128~+127。补码符号位与数值位同样处理,运算方便,实用。
第二节 数值在计算机中的表示 • 例2.14 计算5-2的值。 00000101 …… 5的补码 11111110 …… -2的补码 5-2=5+(-2) + 00000011 1 • 丢失高位1,运算结果是00000011,即3。可见,用补码表示,在数的有效表示范围内,符号位如同数值一样参加运算,允许丢失所产生的最高位进位,所以被广泛采用。
第二节 数值在计算机中的表示 • 例2.15 计算2-5的值。 00000010 …… 2的补码 11111011 …… -5的补码 2-5=2+(-5) + 11111101 • 结果为11111101,因为符号位为1,所以这是一个负数的补码。符号位不变,其余各位按位求反,得到10000010,数值部分转换为十进制数为2,添上符号再减1就是该补码所表示的数值,-2-1=-3,即11111101为-3的补码形式。
· · 隐含小数点位置 符号位 隐含小数点位置置 符号位 定点整数表示 定点小数表示 第二节 数值在计算机中的表示 • 定点数和浮点数 • 定点数 • 小数点位置固定的数,在计算机中没有设专门表示小数点的数位,小数点的位置是约定默认的。 • 固定在机器数(数在计算机中的表示)的最低位之后(称为定点纯整数),用于表示整数; • 固定在符号位之后,数值位之前(称为定点纯小数),用于表示小于1的纯小数。 • 定点数表示法简单直观,但是表示的数值范围受表示数据的字长限制,运算时容易产生溢出。
阶符 阶码 数符 尾数 第二节 数值在计算机中的表示 • 定点数和浮点数 • 浮点数 • 小数点的位置可以变动的数,类似于十进制中的科学计数法。 • 在计算机中通常把浮点数分成阶码和尾数两部分来表示。 • 例如:1100101.011=0.1100101011×2111 -0.0000101101=-0.101101×2-100 • 一般浮点数在机器中的格式为:
第二节 数值在计算机中的表示 • 定点数和浮点数 • 浮点数 • 阶符表示指数的符号位、阶码表示幂次、数符表示尾数的符号位、尾数表示规格化后的小数值。 N = 尾数×基数阶码 • 阶码只能是一个带符号的整数,本身的小数点约定在最右边;尾数是用纯小数表示数的有效部分,本身的小数点约定在数符和尾数之间。 • 阶码的位数决定数的范围,尾数的位数决定数的精度。 • 例如,二进制数-1001110110.101011可以写成: -0. 1001110110101011×21010 • 以32位表示一个浮点数为例,若规定阶码8位,尾数24位表示,则这个数在机器中的格式为 0 0001010 1 10011101101010110000000
第三节 文本信息在计算机中的表示 • ASCII码 • ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),是由美国国家标准局提出的一种信息交换标准代码,是目前计算机中使用最广泛的西文字符编码。 • 采用7位二进制编码,有0~127即128个编码,可表示128个字符。 • 计算机存储分配的基本单位为字节(8位二进制),计算机中实际上用一个字节(8位)表示一个字符,最高位用“0”填充。 • 在大型机中,西文字符常采用另一种EBCDIC码(Extended Binary Coded Decimal Interchange Code,扩展的二—十进制交换码)。
第三节 文本信息在计算机中的表示 • ASCII码 • 十进制编码值为0~31、127的是控制字符,不可打印,32是空格,其余94个是普通字符,有具体字形,可打印; • 0~9、A~Z、a~z的编码是顺序排列的,数字字符“0”的编码为十进制48,则“1”的编码为49;英文字符“A”的编码为十进制65,则“B”的编码为66;英文字符“a”的编码为十进制97,则“b”的编码为98; • 小写字母比相同大写字母的编码大32,转换非常方便。
第三节 文本信息在计算机中的表示 • 汉字编码方案 • 在输入、内部的存储与处理、输出时,为了确切的表示汉字及方便处理,要采用不同的编码,计算机汉字处理系统在处理汉字时,不同环节采用不同的编码,这些不同编码根据使用要求要相互转换。汉字信息处理过程如下图所示。
第三节 文本信息在计算机中的表示 • 汉字国标码 • GB2312-80 • 《信息交换用汉字编码字符集——基本集》 • 该字符集收录了6763个常用汉字,其中一级汉字3755个,二级汉字3008个。另外还收录了各种符号682个,合计7445个。 • 编码原则为:以94个可显示的ASCII码字符为基集,采用双字节对汉字和符号进行编码,即用连续的两个字节表示一个汉字的编码,每一字节取ASCII码中可打印字符的编码33~126(即21H~7EH)。 • 国标码的取值范围:2121H~7E7EH
第三节 文本信息在计算机中的表示 • 汉字国标码 • GB2312-80 • 为了便于编码,GB2312-80将所有的国标汉字与符号组成一个94×94的矩阵。矩阵中的每一行称为一个“区”,每一列称为一个“位”。因此共有94个区(区号:01~94),每区94个位(位号:01~94),将区号和位号连在一起就构成了区位码,区号和位号各加32(20H)就是国标码。 • 区位码的编码范围是:0101~9494。 • 区位码的十六进制表示+2020H=国标码。 • 例如:“中”的区位码为5448(3630H),所以,“中”的国标码为8680(5650H)。
第三节 文本信息在计算机中的表示 • 汉字国标码 • GB2312-80 • 机内码 • 中文或西文信息在计算机系统中的代码表示称为机内码。 • ASCII码是一种西文机内码,用一个字节表示。 • 汉字机内码用连续两个字节表示,每个字节的最高位是1。 • 机内码 = 国标码+8080H =(区位码的十六进制表示)+A0A0H。 • GB2312-80的机内码编码范围为: A1A1H~FEFEH。
第三节 文本信息在计算机中的表示 • 汉字国标码 • GB2312-80
第三节 文本信息在计算机中的表示 • 汉字国标码 • GBK • 国家信息技术标准化技术委员会 1995 年发布的扩充后的汉字编码方案 ,双字节编码,向下与 GB2312 编码兼容,收录了20902 个汉字,只是一种规范,不是一个国家标准。 • GB18030 • 2000年颁布,是取代GBK的正式国家标准。收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。编码采用单字节、双字节和4字节方案。其中单字节、双字节和GBK完全兼容。
第三节 文本信息在计算机中的表示 • 汉字输入码 • 输入码就是用键盘输入汉字的编码,是用户向计算机输入汉字的手段。 • 大体可分为顺序码、音码、形码、音形码四类,各种输入法对同一汉字的编码不相同,输入码也称为“外码”。 • 在有的输入法中,一个“外码”与多个汉字对应,称为“重码”, • 为了提高汉字录入速度,目前提供了很多智能化的输入方法,如语音输入、笔输入、扫描输入。