《补充1计算机中的数据表.ppt》由会员分享,可在线阅读,更多相关《补充1计算机中的数据表.ppt(23页珍藏版)》请在三一办公上搜索。
1、1 计算机中的数制及其转换,2 计算机中数值数据的表示,3 字符编码,4 汉字编码,计算机中数据的表示,1 计算机中的数制及其转换 通常,计算机中的数据分为两类:(1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。(2)码:通常指代码或编码,在计算机中用来描述某种信息。1.1 数制的基本概念 1数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。Ndn1bn1dn2bn2dn3bn3dmbm式中:n整数的总位数。m小数的总位数。d下标表示该位的数码。b表示进位制的基数。b上标表示该位的位权。,2计算机中常用的进位计数制 计数制 基数 数 码 进位关系二进制 2 0、1
2、逢二进一八进制 8 0、1、2、3、4、5、6、7 逢八进一十进制 10 0、1、2、3、4、5、6、7、8、9 逢十进一十六进制 16 0、1、2、3、4、5、6、7、8、9 A、B、C、D、E、F 逢十六进一3计数制的书写规则(1)在数字后面加写相应的英文字母作为标识。如:二进制数的100可写成100B 十六进制数100可写成100H(2)在括号外面加数字下标。如:(1011)2 表示二进制数的1011(2DF2)16 表示十六进制数的2DF2,1.2 数制之间的转换(1)十进制整数转换为二进制整数 采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。(2)十进制小数转
3、化为二进制小数 连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。(3)十进制整数转换为八进制整数或十六进制整数 采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。(4)十进制小数转换为八进制小数或十六进制小数 连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。,(5)二、八、十六进制数转换为十进制数 用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。(6)二进制数转换为八进制数 从小数点开始分别向左或向右,将每3位二进制数
4、分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。(7)八进制数转换为二进制数 将每位八进制数用3位二进制数表示即可。(8)二进制数转换为十六进制数 从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。(9)十六进制数转换为二进制数 将每位十六进制数用4位二进制数表示即可。,【例2.1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:2 105 2 52 余数为1 2 26 余数为0 2 13 余数为0 2 6 余数为1 2 3 余数为0 2 1 余数为1 0 余数为1 所以,(105)10(11
5、01001)2,【例2.2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.812521.625 取整数位10.62521.25 取整数位1 0.2520.5 取整数位00.521.0 取整数位1 所以,(0.8125)10(0.1101)2如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。,【例2.3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:16 2347 16 146 余数为11(十六进制数为B)16 9 余数为2 0 余数为9 所以,(2347)10(92B)16,3补码正
6、数的补码与其原码相同,负数的补码为其反码在最低位加1。【例2.15】(1)X1011011,求其原码、补码。有:X原码01011011 X补码01011011(2)Y1011011,求其原码、补码。有:Y原码11011011 Y反码10100100 Y补码10100101补码表示的整数范围是2n-1(2n-11),n为机器字长。则:8位二进制补码表示的整数范围是128 127 16位二进制补码表示的整数范围是32768 32767 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,2 计算机中数值数据的表示,2.1 基本概念 在计算机内部表示二进制数的方法称为数值编码,把一个数及其
7、符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。表示一个机器数,应考虑以下三个因素:1机器数的范围 字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0255。字长为16位,无符号整数的最大值是()B=(FFFF)H=(65535)D 此时机器数的范围是065535。,2机器数的符号 在算术运算中,数据是有正有负的,将这类数据称为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。3机器数中小数点的位置 在机器中,小数点的位置通常有两种约定:一种规定小数点的位置固定不变,这时的
8、机器数称为“定点数”。另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。,1原码 正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。【例2.13】当机器字长为8位二进制数时:X1011011 X原码01011011 Y1011011 Y原码11011011 1原码00000001 1原码10000001 127原码01111111 127原码11111111 原码表示的整数范围是:(2n-11)(2n-11),其中n为机器字长。则:8位二进制原码表示的整数范围是127127 16位二进制原码表示的整数范围是327673276
9、7,2反码 对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。【例2.14】当机器字长为8位二进制数时:X1011011 X原码01011011 X反码01011011 Y1011011 Y原码11011011 Y反码10100100 1反码00000001 1反码11111110 127反码01111111 127反码10000000 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相同。,3补码 正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例2.15】(1)X1011011(2)Y10
10、11011(1)根据定义有:X原码01011011 X补码01011011(2)根据定义有:Y原码11011011 Y反码10100100 Y补码10100101 补码表示的整数范围是2n-1(2n-11),其中n为机器字长。则:8位二进制补码表示的整数范围是128127 16位二进制补码表示的整数范围是3276832767 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,4补码与真值之间的转换,正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得到该负数补码对应的真值的绝对值。【例2.16】X补码01011001B,X补码11011001B
11、,分别求其真值X。(1)X补码代表的数是正数,其真值:X1011001B(126124123120)(641681)(89)D(2)X补码代表的数是负数,则真值:X(1011001求反1)B(01001101)B(0100111)B(125122121120)(32421)(39)D,2.3 定点数和浮点数表示,1定点数 由于定点位置不同,一般又分为两种情况。对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小数。2浮点数 如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。,3 字符编码 3.
12、1 美国信息交换标准代码(ASCII码),ASCII(American Standard Code for Information Interchange)码是美国信息交换标准代码的简称,用于给西文字符编码;包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符;在ASCII码中,按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号,3.2 二十进制编码BCD码,BCD(Binary-Coded Decimal)码又称为“二十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进
13、制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。1压缩BCD码 每一位数采用4位二进制数来表示,即一个字节表示2位十进制数。例如:二进制数10001001B,采用压缩BCD码表示为十进制数89D。2非压缩BCD码 每一位数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示09,高4位为0。例如:十进制数89D,采用非压缩BCD码表示为二进制数是:00001000 00001001B,4 汉字编码 4.1 基本概念 计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字代码。在汉字信息处理系统中,对于不同部位,存在着多种不同的编码方式
14、。比如,从键盘输入汉字使用的汉字代码(外码)就与计算机内部对汉字信息进行存储、传送、加工所使用的代码(内码)不同,但它们都是为系统各相关部分标识汉字使用的。系统工作时,汉字信息在系统的各部分之间传送,它到达某个部分就要用该部分所规定的汉字代码表示汉字。因此,汉字信息在系统内传送的过程就是汉字代码转换的过程。这些代码构成该系统的代码体系,汉字代码的转换和处理是由相应的程序来完成的。,1汉字输入码 汉字输入码是为用户由计算机外部输入汉字而编制的汉字编码,又称为汉字外部码,简称外码。使用较多的有以下4类:(1)顺序码:如区位码、电报码等。(2)音码:如拼音码、自然码等。(3)形码:如五笔字型、大众码
15、等。(4)音形码:如双拼码、五十字元等。2汉字机内码 汉字机内码是汉字处理系统内部存储、处理汉字而使用的编码,简称内码。3汉字字形码 汉字字形码是表示汉字字形信息的编码。4汉字交换码 汉字交换码是汉字信息处理系统之间或通信系统之间传输信息时,对每个汉字所规定的统一编码。,4.2 汉字代码的表示方法,4.3 几种常用的汉字编码,1国标码 即“中华人民共和国国家标准信息交换汉字编码”(代号GB2312-80)。共收录汉字和图形符号7445个。其中:一级常用汉字3755个;二级非常用汉字和偏旁部首3008个;图形符号682个。2区位码 将GB2312-80全部字符集组成一个9494的方阵,每一行称为一个“区”,编号从0194;每一列称为一个“位”,编号也是从01 94。这样,每一个字符便具有一个区码和一个位码,将区码置前,位码置后,组合在一起就成为区位码。,3BIG-5码 BIG-5码是我国台湾地区编制和使用的一套中文内码。它是为了解决各生产厂家中文内码不统一的问题而设计出的一套编码,并采用5大套装软件的“五大”命名为“BIG-5”码,俗称“大五码”。4GB13000码 国际标准化组织(ISO)于1993年公布了“通用多八位编码字符集”的国际标准(ISO/IEC 10646)。我国发布了与其一致的国家标准,即GB13000码。,