数据表示 第 2 讲
本讲内容 二进制和十六进制数据 数值数据 – 不同形式 字符表示 ASCII 码和 EBCDIC 码 非英文字符表示
二进制系统 二进制和十进制 仅有两个数字 – 0 和 1 被用于存储所有计算机系统的数据 例子 41 (十进制) = 100101 (二进制) 11010101 (二进制) = 213 (十进制) 1 x1 + 0x2 + 1x4 + 0x8 + 1x16 + 0x32 + 1x64 + 1x128
十六进制系统 二进制计算机数据,常用十六进制表示 例子 用字母 A-F 表示大于9的数字 紧凑和易于处理 65 (十进制) = 0100 0001 (二进制) = 41 (十六进制) 低元组 0001;高元组 0100 用字母 A-F 表示大于9的数字
课堂练习 把十进制数36、78和243转换成二进制数和十六进制数 把二进制数0101 1101、 1100 0011 和 1101 1011 转换成十六进制和二进制数 把十六进制数66、 A9 和 FD 转换成二进制和二进制数
EBCDIC(扩展的二进制和十进制交换码) ASCII码和EBCDIC码 ASCII(美国标准信息交换码) 微机和小型机 EBCDIC(扩展的二进制和十进制交换码) IBM主机和小型机 例子 字符“A” 表示为 ASCII 用 41 (十六进制) / 0100 001 (二进制) / 65 (十进制) EBCDIC 用 C1 (十六进制) / 1100 0001 (二进制)/ 193 (十进制)
正常可打印的 ASCII/EBCDIC 形式 变化 数值数据 正常可打印的 ASCII/EBCDIC 形式 变化 小数点位置 – 隐含 / 显现 符号 – 开头 / 结尾
Unisys / Burroughs压缩十进制 数值数据类型的存储空间 IBM压缩十进制 每个字节包含两个十进制数字,正负号存储在低元组的最后一个字节中 Unisys / Burroughs压缩十进制 类似IBM压缩十进制的格式,只是正负号存储在高元组的最后一个字节中 分区十进制 一个字节包含一个数字,最后一个字节包含正负号 二进制 正负号通常存储在第一个比特中
把以下句子用ASCIII 和 EBCDIC 格式表示 课堂练习 把以下句子用ASCIII 和 EBCDIC 格式表示 A quick brown fox jumped over a lazy dog. 把下列用IBM 压缩十进制数值转换成十进制数 00 00 01 33 44 55 6F 00 00 23 45 56 45 6C 00 10 32 67 78 93 8D
把下列有符号分区十进制 数值转换成十进制数 课堂练习 (续) 把下列有符号分区十进制 数值转换成十进制数 F1 F1 F6 F2 C4 F1 F1 F6 F2 D4
非英文字符 语言定义代码页 ASCII 码 从 128 到 255 例如 Windows 1256 – 阿拉伯 Windows Code Page Windows 1258 – 越南 Windows Code Page
难题 在不同操作系统间无统一代码页 象阿拉伯一类语言中双向排列和其它问题 可选用字符代码的方法 – 统一代码 天然的支持多语言