第3单元 认识数据 3.1数据编码 1、模拟信号与数字信号 按照取值特征,可以将信号分为模拟信号和数字信号。用传感器直接获得的信号一般为模拟信号,如声音、温度、压强等。模拟信号的值是随时间连续变化的,波形光滑。模拟信号的值称为模拟数据。 数字信号随时间的变化是非连续的,数字信号可以由模拟信号转换得来,数字信号的值即数字数据,直接用计算机所能理解的二进制表示,以方便计算机对其进行处理。 2、声音的数字化 我们不能把连续的音频信号存放在计算机中,必须将模拟声音数据转换为数字数据。将模拟声音数据转换为数字数据的这一过程,称为声音的数字化。通常先对模拟声音信号按给定的时间间隔进行采样,然后对采样数据进行量化,最后将量化后的数据用计算机能够存储和处理的二进制数值表示,即编码。 3、进制与数制转换 计算机外部的各种形式的数据经过编码后,都以二进制数的形式存储在计算机中。二进制数中只有0和1两个数字符号,其计数特点是“逢二进一”即1+1=10。计算机中存储数据的最小单位是二进制位,用比特(bit)表示,1比特能表示两种(21)状态(即0或1),2比特可以表示00、01、10、11四种(22)状态,3比特可表示八种(23)状态....计算机存储数据的基本单位是字节(Byte,简写为B),8比特构成1字节,1字节二进制数可表示2* (256)种状态。 在二进制数中,每一个数字在不同的位置上具有不同的权值,各位上的权值是基数2的若干次幂。比如二进制数10010,5个位置上的权值从右往左可以表示为: 将二进制数转换为十进制数时,只要将该二进制数的每个位置上的数字与其对应位置的权值相乘,然后求和即可。比如,把十进制非负整数转换为二进制数,可使用短除法,即“除二取余”法。例如,把十进制整数18转换为二进制数的过程如图3.1.7所示,结果为。 由于二进制数位数较多,书写不便,故常改用十六进制数表示。我国古代曾经在重量单位上使用过十六进制,如规定16两为1斤。十六进制需要使用16个不同的基本数字,除了阿拉伯数字0到9外,一般用字母A到F(或a~f)依次表示后续数字(相当于十进制数中的10~15)。十六进制的基本计数规则是“逢十六进1”,即F+1=10。一般地,十进制非负整数转换成R进制数(R≥2)采用“除R取余法”,把R进制非负整数转换成十进制数采用“按权展开求和法”。 4、文本数据的编码 文本数据是用来表示一定意思的一系列字符,包括字母、数字、标点符号、汉字等。 文本数据的编码通过对其中每一个字符进行编码实现。用于文本数据字符编码的方案有多种类型,其中ASCII码和Unicode是最为典型的两种编码方案。 1. ASCI码 ASCII码( American Standard Code for Information Interchange, 美国信息交换标准码)用7位(标准ASCII码)或8位(扩展ASCII码)二进制数表示一个字符。标准ASCII码字符集中定义了大小写英文字母、标点符号和数字等字符和符号,共128个。计算机内部用一个字节来存放一个ASCII码字符,最高位用0表示。例如,“A” 的ASCII码为01000001,即65。堂用的ASCII码如表3.13 所示 2. Unicode码 Unicode是为了解决传统字符编码方案的局限性而产生的。例如, 它可以用两个字节来表示一个符号,这样就有2的l6次方(65536)种不同的二进制编码,能表示很多国家的常用字。目前,Unicode还可以用更多字节来对字符进行编码。为了简化ASCII与Unicode之间的转换,Unicode的设计者还使其兼容ASCII码。原来用ASCII码能表示的字符,其对应的Unicode码只是在原来的ASCII码前加上8个0。比如,“a” 的ASCII码是01100001,而它的Unicode码是000000001100001。 计算机要处理汉字,必须对汉字进行编码,显然每个汉字至少需要两个字节。我国先后制定了多个汉字编码方案:(1)GB2312- 1980字符集共收录6763个汉字,其中一级汉字3755 ... ...
~~ 您好,已阅读到文档的结尾了 ~~