1、1,一、常用数制 二、十、八、十六进制二、数制间的转换三、二进制数的运算 算术运算和逻辑运算,复习上节课内容:,2,2.4 数值型数据的表示及处理2.5 文字的表示和处理,本节课内容:,3,本节课主要知识点:,原码、反码和补码的表示浮点数的表示ASCII码汉字的机内码汉字输出的形式常见文本类型,在计算机内能表示和使用的数据包括: 无符号整数 整数数值型数据 有符号整数 实数非数值型数据,4,2.4 数值型数据的表示与处理,2.4.1 定点数表示,定点数的概念:约定小数点在某个固定的位置,整数可以用定点数表示,约定小数点在个位数的右面. 整数的分类,5,整数的分类: 不带符号的整数 (8位,16
2、位,32位) 带符号的整数(正整数,负整数)符号位:使用最高位(最左面的一位)作为符号位 “0”-“”(正数) “1”-“”(负数) 其余各位表示数的绝对值例如: 00101011=43 ,10101011=43,6,整数(定点数)表示,有符号的整数可以有三种表示方法:原码反码补码,7,8,原码表示: 最高位作为符号位若符号位为0,则表示正数. 若符号位为1,则表示负数. 其余各位代表数值本身的绝对值 (以二进制表示),(1)原码表示,9,例1:假设用一个字节来表示一个数,求+7和-7的原码。,解:根据原码的定义:,(7 )原00000111,(7 )原10000111,结论:绝对值相同的正数
3、和负数,它们除了符号位不同外,其他各位都相同。,8 4 2 11 1 1 1,10,例2:假设用一个字节来表示一个数,求0 的原码。,解:根据原码的定义:,+0的原码= 00000000,- 0的原码= 10000000,结论:0的原码不唯一,分析:当由数轴的左端趋向0时,我们记为 -0 当由数轴的右端趋向0时,我们记为+0,11,假设用一个字节表示一个数 用原码表示的最小值为:-127, 其原码为:11111111 用原码表示的最大值为:+127, 其原码为:01111111,原码的表示范围:,所以,原码的表示范围为:127 +127,12,(2)反码表示,表示方法: 1.一个数如果值为正,
4、则它的反码与原码相同; 2.一个数如果值为负,则将其符号位置为1,其余各位为对原码的相应数据位取反,取反:,二进制中有0和1两种状态,取反就是取与当前状态相反的状态(相当于电子器件的高低电平) 。 1取反 = 0 0取反= 1,13,例3:假设用一个字节来表示一个数,求+7和-7的反码。,解:根据反码的定义:,(7)反 00000111,(7)反(10000111)反 11111000,8 4 2 11 1 1 1,14,例4:假设用一个字节来表示一个数, 求0的反码。,解:根据反码的定义:,+0的反码= 00000000,-0的反码= 11111111,结论:0的反码不唯一,15,假设用一个
5、字节表示一个数。用反码表示的最小值为:-127, 其反码为: 10000000用反码表示的最大值为:+127, 其反码为: 01111111所以,反码的表示范围为: 127 +127,反码的表示范围:,(因为原码的表示范围也是 127 +127,所以反码的表示范围与原码是一致的。),16,(3)补码表示,*计算机中使用补码的原因:,在加减法运算中,对参与运算的数符号正负的判断问题,*补码的原理:( 即为什么用补码可以实现减法按加法处理?) * 时钟原理 * 补数的概念,17,补码表示方法规定: 正数的补码:与反码、原码相同. 负数的补码:则将其最高位置为 1,其余各位为对原码的相应数据位取反,
6、然后再对整个数加1.,补充公式:X为负数时 x补= x反+1 成立,18,例5:假设用一个字节来表示一个数,求+7和-7的补码。,解:根据补码的定义:,+7补00000111,-7反11111000,-7补11111000 + 1 11111001,19,例6:假设用一个字节来表示一个数, 求0的补码。,解:根据补码的定义:,进位舍去,结论: 0的补码是唯一的。,20,用补码进行运算例7:假设用一个字节来表示一个数,求+76 的值,解:,+7补00000111,-6补11111010,+7补+ -6补 00000111 +11111010 100000001,进位舍去, 00000001,说明
7、:补码的减法可以按加法来处理,21,假设用一个字节表示一个数。用补码表示的最大值:+127, 其补码为:01111111。用补码表示的最小值:-128, 其补码为:10000000。所以,用补码表示的数的范围是: -128 +127,补码的表示范围:,注意:用补码表示的数的范围比原码和反码多一个数。 为什么?,22,补码如何向原码转换?,思考题:,几种整数表示法的比较,23,BCD码,BCD整数(Binary Coded Decimal)称为“二进制编码的十进制整数”,使用4个二进位表示1个十进制数字,最高位仍为符号位。例如:(51)BCD 10101 0001 (+3276)BCD00011
8、 0010 0111 0110,24,25,引入浮点数的目的: 在一定字长下,整数数值的表示范围有限;实际的数据往往有整数部分又有小数部分;实际数据有的特别大,有的特别小。,2.实数(浮点数)的表示,26,很多高级程序语言,数值型数据都可以写成如下形式 4.32E-2表示4.3210-2=0.0432 0.432E-1表示0.43210-1=0.0432 联想一下,十进制中科学计数法,两者很类似,但又不同。,27,基数(R):通常隐含为2 尾数(M):必须是二进制定点纯小数尾数的位数决定数的精度阶码(E): 必须是二进制定点整数。 阶码的位数决定数的范围,浮点数可表示成:,N M RE,28,
9、例如 假设某机器字长为16位,规定前6位表示阶码(包括阶码符号),后10位表示尾数(包括尾数符号),(阶码和尾数用原码表示) 则 000101 1110101000 表示的浮点数是:,29, -(26.5)10,0 00101 1 110101000,阶码,尾数,-(0.110101)22 +(101) 2,符号位,= (-11010.1)2,实数(浮点数)的表示范围和类型,浮点数的长度可以是32位、64位或更长。一般说来,位数越多,可表示的数的范围越大(阶码),精度越高(尾数) 浮点数(实数)分类: 短浮点数、浮点数、 长浮点数、高精度浮点数 end of 2.4,30,一、西文字符编码二、
10、汉字编码三、汉字的输入和输出四、文本处理,31,2.5 文字的表示和处理,一、西文字符编码,1. ASCII码(重点) ASCII码,即美国标准信息交换码(American Standard Code for Information Interchange),使用7个二进位对字符进行编码。,32,基本的ASCII字符集共有128个字符 95个可打印字符(常用字母、数字、标点符号) 33个控制字符(不可直接显示或打印) 特殊字符的ASCII码 空格(32)、A(65)、a(97)、0(48) 下面为ASCII代码表:,33,34,见课本P32,35,对ASCII码的说明: 每个字符用标准规定的7
11、位二进制数表示,在机内占一个字节(最高位为0)。 如: 字符“A”的ASCII码为: (01000001)2 或(65)10、(101)8、(41)16 字符“0”的ASCII码为: (00110000)2 或(48)10、(60)8、(30)16,36,对ASCII码的要求: 1.学会比较ASCII字符的大小 (按其ASCII码值) 空格09AZaz 2.会推算同组字符ASCII码值 如A的ASCII值(十进制)为65,则B、C 的ASCII值分别为66、67,37,扩展 ASCII 码(了解) ISO 陆续制定了一批适用于不同地区的扩充 ASCII 字符集,每种扩充 ASCII 字符集分别
12、可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128-255 ),称为扩展 ASCII 码。,定义方式: 用8位二进制数位表示一个字符的扩充 二-十进制 交换码.特点: 每个字符对应一个字节,共256种说明: 有很多编码没有使用,保留做为扩 充。,38,2.EBCDIC码(了解),39,40,二、汉字编码,1981年,国家颁布的信息交换用汉字编码字符集-基本集(GB2312-80) (国标码)。 组成: (1)第一部分:字母、数字和各种符号,包括拉丁字母、俄文、日文平假名与片假名、希腊字母、汉语拼音等共682个(统称为GB2312图形符号),1.GB2
13、312-80汉字编码(重点),(2)第二部分:一级常用汉字,共3755个, 按汉语拼音排列(3)第三部分:二级常用汉字,共3008个, 按偏旁部首排列 汉字共6763个 字符共7445个,41,区位码: GB2312-80是一个二维代码表,有94行、94列, 汉字在代码表中的位置用它所处的行号、列号表示。,42,1.GB2312-80汉字编码(重点),例如: “大”字的区号20,位号83, 区位码是20 83 用2个字节表示为: 00010100 01010011,43,44,1.GB2312-80汉字编码(重点),国标交换码问题:信息通信中,汉字的区位码与通信使用的控制码(00H1FH)发生
14、冲突。解决方案:为了避免汉字区位码与通信控制码的冲突,每个汉字的区号和位号必须分别加上32。得到的代码称为汉字的“国标交换码”,45,1.GB2312-80汉字编码(重点),例如: “大”字的区号20,位号83 区位码:20 83 二进制表示为:00010100 01010011 国标交换码:52 115 (+32) 二进制表示为:00110100 01110011,46,机内码问题:文本中的汉字与西文字符经常是混合在一起使用的,汉字信息如不予以特别的标识,它与单字节的标准ASCII码就会混淆不清。解决方法:使表示GB2312汉字的两个字节的最高位(b7)都置为“1”。这种汉字编码,称为GB2
15、312汉字的“机内码” 。,47,1.GB2312-80汉字编码(重点),例如:“大”字 区位码:20 83 二进制表示为:00010100 01010011 国标交换码:52 115 (+32) 二进制表示为:00110100 01110011 机内码:180 243(+128) 二进制表示为:10110100 11110011 (B4F3),48,区位码 + 32 = 国标码国标码+128 = 机内码,问题:GB2312-80只有6763个汉字,使用时功能不够。 解决方法:1995年发布GBK,全称为汉字内码扩展规范GBK字符集中一共有21003个汉字和883个图形符号,它与GB2312国
16、标汉字字符集及其内码保持兼容。 组成:共收入21886个汉字和图形符号(21003个汉字,883个图形符号),49,2.GBK汉字内码扩展规范(了解),GBK编码区分三个部分: 汉字区(21003个汉字)、图形符号区、用户自定义区 GBK每一个字符都采用双字节表示:总体编码范围为:8140H-FEFEH,共23940个码位; 首字节范围:81H-FEH; 尾字节范围:40H-FEH;,50,2.GBK汉字内码扩展规范(了解),目的:统一的多文本处理环境,实现所有字符在同一字符集中统一编码。 优点:编码空间极大(4个字节),能容纳足够多的各种字符集(13亿字符) 缺点:4字节的字符编码使存储空间
17、浪费严重,51,3.UCS/Unicode汉字编码(了解),克服:UCS-2是双字节编码,共有字符49194个,其中包括:欧洲及中东地区使用的拉丁字母、音节文字各种标点符号、数学符号、技术符号、几何形状、箭头及其他符号中、日、韩(CJK)统一编码的汉字,52,GB18030-2000编码标准在GB2312和GBK编码标准的基础上进行了扩充,采用单字节、双字节和四字节三种方式对字符编码,因此该标准的汉字有27000多个。包括全部中、日、韩统一字符集和CJK汉字扩充的所有字符。,53,4.GB18030-2000编码(了解),BIG5码是台湾、香港等地使用的汉字繁体的编码标准,它用双字节进行编码。
18、BIG5收录了13461个汉字和符号。,54,5.BIG5编码(了解),人工输入:通过键盘、手写笔或语音输入方式输入字符 自动输入:将纸介质上的文本通过识别技术自动转换为文字的编码,55,三、汉字的输入输出,1.汉字输入,汉字的输出过程:输出机器内部的汉字编码,需要根据汉字编码对应的汉字字型码进行解释,生成映像,最后再传送到显示器或打印机输出。 机内汉字编码字型码打印输出(显示器/打印机),56,2.汉字输出(重点),汉字字型码:用于汉字在显示器或者打印机上输出. 汉字字型码表示形式分类: 点阵表示形式 矢量表示形式,57,汉字字型表示形式:汉字字型码用点阵表示 16*16(占32个字节)、
19、24*24、48*48等汉字矢量表示存储描述汉字轮廓特征的信息。如:Windows中TrueType技术即为该表示形式。,58,字符的点阵描述 字符的轮廓描述,字型库:简称字库,同一种字体的所有字符(例如GB2312中的7000多字符)的形状描述信息的集合。不同的字体(如宋体、仿宋、楷体、黑体等)对应不同的字库。,59,60,四、文本处理(了解),1.文本的编辑(自学)2.文本的处理(自学)3.常用文本处理软件(自学)4.常见文本类型(重点),根据制作文本的用途分为 纯文本 TXT 丰富格式文本 RTF 根据软件的使用不同 DOC、PDF、WPS 等,61,4.常见文本类型(重点),(1)纯文
20、本.txt,纯文本:是由一连串的字符组成的,几乎不包含任何其他格式信息和结构信息。称为纯文本。 特性:呈现为一种线性结构,文件体积小,阅读不受限制,几乎所有的文字处理软件都能识别和处理,不能插入图片、表格等,不能建立超链接。,62,(2)丰富格式文本,文本的格式化(字型 字号 颜色 ) 丰富格式文本(rich text、fancy text、formatted text) RTF格式 (不同软件系统相互交互中间格式) 多媒体文档(Multimedia Document)插入图 表 公式 声音 视频 . end of 2.5,63,64,1.预习第3章第1、2、3节和第2章剩余内容2.复习本节课的内容3.练习:复习思考题,课后作业,Bye bye,