(计算机组成原理)第二章数据的表示和运算-第一节:字符与字符串在计算机中的表示详解

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(计算机组成原理)第二章数据的表示和运算-第一节:字符与字符串在计算机中的表示详解相关的知识,希望对你有一定的参考价值。

由于计算机内部职能识别和处理二进制代码,所以字符都必须按照一定的规则用一组二进制编码来表示

一:字符编码与ASCII编码

目前,国际上普遍采用的字符系统是7位二进制编码的ASCII码,他可以表示10个二进制数字+53个英文大小写字母以及一定数量的专用符号,共计128个字符

在ASCII码中,排布如下

  • 0~31为控制字符,用于通信控制和设备的功能控制
  • 127是DEL码
  • 32是空格码
  • 32~196共95个字符为可打印字符
  • 65~90为大写字母范围
  • 97~122位小写字母范围
  • 数字0-9的ASCII码为48(011 0000)到57(011 1001),去掉高三位后剩余部分正好是它们对应的BCD码形式在这里插入图片描述

已知‘A’的ASCII码为65,字符’H’存放在某存储单元中,求M中存放内容
答:72->0100 1000

二:汉字的表示和编码

英文字母只有26个,且不同排列组合可以形成各种各样的单词,但是对于汉字来说数量庞大,就连常用汉字都有3000多个,采用ASCII编码显然不可能存储

汉字的编码包括汉字的输入编码、汉字内码、汉字字形码三种,分别用于计算机中的输入、内部处理和输出三种用途。

区位码是1981年颁布的一个标准,它用两个字节表示一个汉字,每个字节用七位码,并将汉字和图形符号排列在一个94×94的二维代码表中
在这里插入图片描述
区位码是4位十进制数,前2位是区码,后2位是位码

国际码将十进制的区位码转换为16进制后,再在每个字节上加上20H。国际码两字节的最高位都是0,ASCII码的最高位也是0.为了方便计算机区分中英文字符(防止打印字符矛盾),将国际码两字节的最高位都改为1,这就是汉字内码
区位码和国际码都是输入码,和汉字内码的关系如下(十六进制)

国际码=(区位码)16+ 2020 H 2020H 2020H
汉字内码=(区位码)16+ 8080 H 8080H 8080H

总之它们的关系如下
在这里插入图片描述

三:字符串

英文字符,以abc为例

计算机按字节编址,每个内存地址对应一个字节,最后一个字符往往是结束标志
在这里插入图片描述
中文字符,以abc啊为例

以两字节表示一个汉字
在这里插入图片描述

以上是关于(计算机组成原理)第二章数据的表示和运算-第一节:字符与字符串在计算机中的表示详解的主要内容,如果未能解决你的问题,请参考以下文章

(计算机组成原理)第二章数据的表示和运算-第一节4:校验码

(计算机组成原理)第二章数据的表示和运算-第一节:字符与字符串在计算机中的表示详解

(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了

(计算机组成原理)第二章数据的表示和运算-第三节1:浮点数的表示

(计算机组成原理)第二章数据的表示和运算-第三节3:浮点数加减运算

(计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)