表1-2机器数与真值2.带符号数的编码数在计算机中是以二进制形式表示的。尾数部分给出有效数字的位数,因而决定了浮点数的表示精度。二是要给出阶码,用整数形式表示,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。最常用的BCD码称为8421BCD码,8、4、2、1 分别是4位二进制数的位权值。......
2023-11-01
1.西文字符ASCII编码
目前使用最广泛的西文字符集及其编码是ASCII字符集和ASCII码(American Standard Code for Information Interchange,美国标准信息交换代码)。ASCII被国际标准化组织(International Organization for Standardization,ISO)批准为国际标准。
基本的ASCII字符集共有128个字符,其中有96个可打印字符,包括常用的字母、数字、标点符号等,另外还有32个控制字符。标准ASCII码使用7位二进制位对字符进行编码,对应的ISO标准为ISO646标准。表1-4展示了基本ASCII字符集及其码值。
字母和数字的 ASCII码值的记忆是非常简单的。只要记住了一个字母或数字的 ASCII码值(如记住A为65,0的ASCII码值为48),知道相应的大小写字母之间差32,就可以推算出其余字母、数字的ASCII码值。
表1-4 ASCII码表
续表
虽然标准ASCII码是7位编码,但由于计算机基本处理单位为字节(1 byte = 8 bit),所以一般仍以一个字节来存放一个ASCII字符。每一个字节中多余出来的一位(最高位)在计算机内部通常保持为0(在数据传输时可用作奇偶校验位)。
2.汉字字符编码
汉字编码是为汉字设计的一种便于输入计算机的代码。汉字也是字符,与西文字符相比,汉字数量大,字形复杂,同音字多,这就给汉字在计算机内部的存储、传输、交换、输入和输出等带来了一系列的问题。为了能直接使用西文标准键盘输入汉字,必须为汉字设计相应的编码,以适应计算机处理汉字的需要。汉字信息处理系统一般包括编码、输入、存储、编辑、输出和传输。汉字信息处理中各种编码及流程图如图1-19所示。
图1-19 汉字信息处理流程
计算机中汉字的表示也是用二进制编码。根据应用目的不同,汉字编码分为外码、国标码、机内码、字形码和地址码。
(1)外码(输入码)。
外码也称输入码,是用来将汉字直接输入计算机中的一组键盘符号。常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、重码率低、输入速度快等优点,每个人可根据需要进行选择。
(2)国标码。
计算机内部处理的信息都是用二进制形式,汉字也是。中国国家标准总局1981年实施了中华人民共和国国家标准《信息交换用汉字编码字符集-基本集》(GB 2312—1980),即国标码。
区位码是国标码的另一种表现形式,把国标码中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,共94×94=8 836个码位。这种表示方式也称区位码。(www.chuimin.cn)
其中,01~09区收录除汉字外的682个字符;10~15区为空白区,没有使用;16~55区收录3 755个一级汉字,按拼音排序;56~87区收录3 008个二级汉字,按部首/笔画排序;88~94区为空白区,没有使用。
举例来说,“啊”字是GB 2312—1980编码中的第一个汉字,它位于16区的01位,所以它的区位码就是1601,如表1-5所示。
表1-5 16区字符编码集
在GB2312—1980中共收录了汉字6 763个,其中常用的一级汉字有3 755个,将它们按拼音字母顺序排列,同音字以笔画为序;二级汉字有3 008个,按字典中的部首顺序排列;还有标点及图形符号687个。
表1-5用十进制数表示的汉字编码方式称为区位码。国标码是在区位码的基础上稍加修改而来的。例如,“保”字在代码表中处于17区第3位,区位码即为“1703”,相应的国标码为“0011000100100011B”,用十六进制表示为“3123H”。将区位码的区码“17”加32(十六进制数为20H)转换成二进制便是国标码的高位代码“00110001B”,用十六进制表示即为“31H”,将区位码的位码“03”加32(十六进制数为20H)转换成二进制表示即为“23H”。一般来说,国标码是在区位码的基础上区值和位值分别加上20H而形成的,这样做可以防止与ASCII的前34个控制字符发生冲突。
国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,如“保”字,国标码为31H和23H ,而西文字符“1”和“#”的ASCII码也为31H和23H,假如内存中有两个字节为31H和23H,这到底是一个汉字,还是两个西文字符“1”和“#”?于是就出现了二义性。显然,国标码是不可能在计算机内部直接采用的,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,也就是如果国标码是十六进制的,直接加上8080H(10000000B =128=80H)即可。例如,“保”字的国标码为3123H,前字节为00110001B,后字节为00100011B,高位改1为10110001B和10100011B,即为B1A3H,因此,“保”字的机内码就是B1A3H。显然,汉字机内码的每个字节都大于128,这就解决了与西文字符的ASCII冲突的问题。
综上所述,汉字机内码、区位码、国标码之间的联系与区别可以用下面的公式表示:
机内码高位=区码+20H+80H=国标码高位+80H=区码+A0H
机内码低位=位码+20H+80H=国标码低位+80H=位码+A0H
(3)机内码。
根据国标码的规定,每一个汉字都有确定的二进制代码,在计算机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。现在我国的汉字信息系统一般都采用与ASCII码相容的位码方案,用两个二位码字符构成一个汉字机内码。
(4)字形码。
字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。通常用16×16点阵来显示汉字。
(5)地址码。
地址码是指汉字库中存储汉字字形信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。
有关信息技术:基础+实践的文章
表1-2机器数与真值2.带符号数的编码数在计算机中是以二进制形式表示的。尾数部分给出有效数字的位数,因而决定了浮点数的表示精度。二是要给出阶码,用整数形式表示,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。最常用的BCD码称为8421BCD码,8、4、2、1 分别是4位二进制数的位权值。......
2023-11-01
■任务情景小明在使用word进行文档处理时,想到计算机中只有0和1,很疑惑文字、图片等非数值信息在计算机中是怎么存储和处理的呢?■任务分析◆英文字符的编码◆汉字信息的表示◆其他信息的表示■知识准备1.英文字符编码在计算机中,对非数值的文字和其他符号进行处理时,要对文字和符号进行数字化处理,即用二进制编码来表示文字和符号。目前广泛使用的汉字机内码是变形的国标码。汉字的矢量表示法将汉字视为由笔画组成的图形。......
2023-11-18
用符号位1或0来表示正负的二进制数,称为机器数。机器数表示数值可以区分正数和负数,非常直观,但是在计算的时候规则比较复杂,为了计算简单,在计算机中进行存储、处理的时候使用的是数值的补码,机器数是怎么转换为补码的,在此略过。......
2023-11-18
■任务情景我们都是采用十进制数来表示数据,而计算机中的电子设备,只有开关或电平高低两种状态,那计算机如果来表示数据呢?小明带领他的学生去了解计算机中数据的表示。也称位权,R进制的数据在相应位上1所表示数值的大小。八进制数的基数为8。十六进制数的基数为16。......
2023-11-18
当物体做直线运动时,可用带有正负号的数值表示位移,取正值时表示其方向与规定正方向一致,反之则相反。 -2 45 本题考查匀变速直线运动规律中的刹车问题。......
2023-10-21
图2-6 字符类型通常用Unicode码来表示字符,所以就有了上述结果。图2-7 转义字符多学一招在实例中主要讲解了如何在程序中输出一些特殊字符,学过这个方法后,建议读者要记住表2-2所示的转义字符的使用方法。例如在下面的代码中演示了其他几种转义字符的用法,具体代码如下:将代码进行编译,然后运行,得到如图2-8所示的结果。......
2023-11-05
数据表示是指计算机能够辨认并进行存储、传送和处理数据的表示方法。在计算机语言中,常用的数据表示形式有二进制、八进制、十进制、十六进制。......
2023-11-18
当把算法用于人类和计算机之间传递智能时,文字形式算法的主要缺点是表示方法不规范,不同的人描述的相同的算法在用词和语句上有很大差异。又例如,计算机在执行每条语句前,需要首先“识别”出每条语句,C语言程序中每条语句结束后增加的语句结束标记符号“;”,表示当前的一条语句到此结束,这样的标识就方便了计算机对程序语句的“识别”。......
2023-11-18
相关推荐