《数据存储(计算机导论)》由会员分享,可在线阅读,更多相关《数据存储(计算机导论)(35页珍藏版)》请在金锄头文库上搜索。
1、第二章 数据编码与存储n2.1 位的存储n2.2 存储器n2.3 计算机中数据的表示n2.4 数值数据编码n2.5 字符数据编码n2.6 图形和图像数据编码n2.7 音频数据的表示n2.8 数据压缩n2.9 误码及对策2.1 位的存储n如果用0-1作为编码的基本元素的话, 那么存储的最小单位为1位(bit),要 么是0要么是1。可见只要存储装置有两 种不同的稳定状态就能可以表示和存储 这两个元素,其中一个状态表示1,则 另一种状态就表示0逻辑运算门n可以设计出进行逻辑运算的装置,比如 用继电器或者齿轮等,把这种能完成逻 辑运算的装置称为门(Gate)。现代电 子计算机中的门是用电子线路实现的,
2、 其中1和0分别用电平的高和低来表示。触发器2.2 存储器n1 Byte 8 Bitn1 KB(kilobyte) 1024 Byten1 MB(megabyte) 1024 KBn1 GB(gigabyte) 1024 MBn1 TB(terabyte) 1024 GB其他存储技术n磁芯n电容 n磁介质n有机玻璃或聚酯树酯等材料制作的介质 存储器n主存储器n地址n辅助存储器n软盘、硬盘和 光盘等内存内存虚拟存储器虚拟存储器快存快存外存外存运行速度慢快 CPUCPU各种存储器的速度比较各种存储器的速度比较2.3 计算机中数据的表示n二进制n数值的表示 n字符的表示 n图形和图象的表示 n音频数
3、据的表示 数制n进位计数的方法即数制n在采用进位计数的数字系统中,如果只用r个数码 ,则称其为基r数制(Radix-r Number System)或 r 进制,r 便称为该数制的“基数”(Radix) n二进制:B(Binary),如 (11101)B;n八进制:O(Octal),如 (35)O;n十进制:D(Decimal),如 (29)D;n十六进制:H(Hexadecimal),如 (1D)H;二进制与其他数制的转换(1)n二进制与十进制的转换n十进制转换成二进制:将整数部分和小数 部分分别转换,然后再拼接起来n整数部分,采用除2取余法;n小数部分,采用乘2取整法。n二进制转换为十进制
4、:直接按权展开即可n小数点后的权分别为2的-1、-2、-3、次幂 二进制与其他数制的转换(2)n十进制转换成二进制:二进制与其他数制的转换(3)n二进制转换为十进制:特点特点: : 有有1616个数码个数码 0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FA,B,C,D,E,F 基数为基数为 16 16,逢,逢1616进位进位 位权为位权为 16 16n n十六进制数按权的展开式(即十六进行转换成十进制)十六进制数按权的展开式(即十六进行转换成十进制)(2407.31) (2407.31)1616=216=2163 3+416 +4162
5、 2+016 +0161 1+716 +7160 0+316 +316- -1 1+116 +116 - -2 2十六进制数由于由于16 = 216 = 24 4,1 1位十六进制数相当于位十六进制数相当于4 4位二进制数,所以十六进制转位二进制数,所以十六进制转 换成二进制换成二进制 可用可用“ “一位变四位一位变四位” ”的方法的方法 ,二进制转换成十六进制可,二进制转换成十六进制可 采用采用“ “四位变一位四位变一位” ”的方法。的方法。601107543210十六进 制0111010101000011001000010000二进制E1110FDCBA98十六进 制11111101110
6、01011101010011000二进制110101011101001.011110101011101001.011B = 6AE9.6 HB = 6AE9.6 H二进制数二进制数4 4位分组:位分组: 0110 1010 1110 1001 . 0110 0110 1010 1110 1001 . 0110转换为十六进制数:转换为十六进制数: 6 6 A E 9 . 6A E 9 . 6二进制与十六进制的转换二进制与八进制的转换类似2.4 数值的表示(1)n机器数n把在机器内存放的正负号数码化的数称为 机器数,把机器外部由正负表示的数称为 真值数l l符号位为表示正数符号位为表示正数l l符
7、号位为表示负数符号位为表示负数n若一个数占8位,真值数(0101100)B 的机器数为10101100 数值的表示_整数原码原码 反码反码补码补码原码原码l l符号位为表示正数符号位为表示正数l l符号位为表示负数符号位为表示负数l l数值为二进制方法表示的绝对值数值为二进制方法表示的绝对值在在8 8位二进制数中位二进制数中 6666原原 = 01000010 = 01000010 -66 -66原原 =11000010 =11000010 反码反码l l正数正数的反码与其原码相同,的反码与其原码相同,负数负数的反码为其原码除符号位外的的反码为其原码除符号位外的 各位按位取反(即是的改为,是的
8、改为)。各位按位取反(即是的改为,是的改为)。6666反反 = 01000010= 01000010原原 = 01000010 = 01000010 反反-66 -66反反 = 11000010= 11000010原原 = 10111101 = 10111101 反反补码补码l l正数的补码与其原码相同,负数的补码为其反码在最低位加正数的补码与其原码相同,负数的补码为其反码在最低位加 66 66 补补 = 01000010= 01000010原原 = 01000010 = 01000010 反反= 01000010 = 01000010 补补 -66 -66 补补 = 11000010= 11
9、000010原原 = 10111101 = 10111101 反反 = 10111110 = 10111110 补补 整数的表示n当采用补码表示时,计算机中的加减法运算都 可以通过“加法”来实现,即补码的加法:nX = 00110101 Y = 00101001 X - Y = 00110101 00101001 = 00001100(-Y) = 10101001 (-Y)反 = 11010110 (-Y)补 = 11010111 X + (-Y)补 = 00110101 + 11010111 = 00001100n X -Y = X + ( -Y 的补码)= X + (-Y 的反码+1)整数
10、的表示浮点数浮点数是指小数点在数据中的位置可以左右移动的数据。任一是指小数点在数据中的位置可以左右移动的数据。任一 个二进制数个二进制数 N N 可以表示为:可以表示为:N = M 2N = M 2e e其中,为浮点数;其中,为浮点数;为为尾数尾数,表示数的全部有效数字;,表示数的全部有效数字;e e 为为 阶码阶码,指明小数点的位置。,指明小数点的位置。10.01 10.01 B 1001 2 B 1001 2 22 ( 13.87 D 1387 10 ( 13.87 D 1387 10 22) )11000B 11 2 11000B 11 2 3 3 ( 13000D 13 10 ( 13
11、000D 13 10 3 3) )在计算机中,浮点数通常表示成如下格式:在计算机中,浮点数通常表示成如下格式:E ES SMM符号位符号位 阶码阶码 尾数尾数实数_浮点数英文字母英文字母 数字数字 标点符号标点符号 特殊符号特殊符号ASCIIASCII码码 计算机中的字符按一定的规则用计算机中的字符按一定的规则用8 8位二进制编码表示,目前最普遍采用的位二进制编码表示,目前最普遍采用的 编码是编码是ASCIIASCII(American Standard Code for Information InterchangeAmerican Standard Code for Information
12、 Interchange) 即美国标准信息交换码。这种编码规定:八个二进制位的最高位为零,即美国标准信息交换码。这种编码规定:八个二进制位的最高位为零, 余下的七位可进行编码。因此,可表示余下的七位可进行编码。因此,可表示128128个字符。个字符。0 b b7 7b b6 6b b5 5b b4 4b b3 3b b2 2b b1 1高三位高三位( (列)列)低四低四位(行)位(行)奇偶效验位奇偶效验位西文字符的编码2.5 字符数据编码ASCIIASCII码字符编码表码字符编码表低四位低四位高三位高三位西文字符的编码字符的表示(2)n汉字编码n用户用输入码输入汉字,输入码比较容易 学习和记忆
13、;系统由输入码找到相应的内 码,内码是计算机内部对汉字的表示;要 在显示器上显示或在打印机上打印出用户 所输入的汉字,需要汉字的字形码,系统 由内码找到相应的字形码字符的表示(3)n汉字编码n汉字国标码n全称是GB231280信息交换用汉字编码字符集基 本集,1980年发布,是中文信息处理的国家标准,也 称汉字交换码,简称GB码。根据统计,把最常用的 6763个汉字分成两级:一级汉字有3755个,按汉语拼 音排列;二级汉字有3008个,按偏旁部首排列。为了编 码,将汉字分成若干个区,每个区中94个汉字。由区号 和位号(区中的位置)构成了区位码。例如,“中”位于 第54区48位,区位码为5448
14、。区号和位号各加32就构 成了国标码,这是为了与ASCII码兼容,每个字节值大 于32(032为非图形字符码值)。所以,“中”的国标 码为8650。字符的表示(4)n汉字编码n汉字机内码n一个国标码占两个字节,每个字节最高位仍为 “0”;英文字符的机内码是7位ASCII码,最高 位也是“0”。因为西文字符和汉字都是字符, 为了在计算机内部能够区分是汉字编码还是 ASCII码,将国标码的每个字节的最高位由“0” 变为“1”,变换后的国标码称为汉字机内码。 由此可知汉字机内码的每个字节都大于128, 而每个西文字符的ASCII码值均小于128。字符的表示(5)n汉字编码n汉字的输入编码n目的:进行汉字的输入n要求:编码要尽可能的短,重码要尽量少,容 易学容易上手n最常用的输入码:五笔字型、智能拼音等。字符的表示(6)n汉字编码n汉字字形码n点阵方式n矢量方式 2.6 图形和图象的表示(1)n基本概念n图形n一般是指通过绘图软件绘制的由直线、圆、圆 弧、任意曲线等组成的画面,即图形是由计算 机产生的,且以矢量形式存储;n图像n是由扫描仪、数字照相机、摄像机等输入的画 面,即图像是由真实的场景或现实存在的图片 输入计算机产生的,图像以位图形式存储。图形和图象的表示(2)n基本概念n动画n每一副画面通过一些工具软件对图像素材进行 编辑制