1.2 计算机中信息的表示与存储单位
1.2.1 计算机中数的表示
1. 计算机中的数值编码
计算机中的数值分为带符号数和无符号数,带符号数规定一个数的最高位(最左边)作为符号位,“0”表示正,“1”表示负。例如,同样一个 8 位二进制数,如果是无符号的,那么它可以表示 0 ~ 255,共计 256 个数字;如果是有符号的,那么它可以表示 -128 ~ 127,共计 256 个数字。
(1)机器数:在机器内部存放的正负号数字化后的数。
(2)真值:在机器外部存放的由正负号表示的数。
BCD 编码(8421 编码)是用二进制代码表示十进制数的编码,规定用 4 位二进制数表示 1 位十进制数。
2. 数值的原码、反码、补码
计算机中带符号的机器数在运算时,当正数和负数同时参加计算时,若符号位和数值同时参加运算,则会产生错误的结果。为了解决此类问题,在机器数中对数的表示有 3 种方法:原码、反码和补码,其关系如表 1-2 所示。
原码是一种对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位:正数该位为 0,负数该位为 1,其余位表示数值的大小。在原码中,如果一个机器数字长是 n 位,约定最左边一位用作符号位,其余 n-1 位用于表示数值。
表1-2 数值的原码、反码、补码
| 原码 | 反码 | 补码 |
| 正数 | [A]原=00001101 | [A]反=00001101 | [A]补=00001101 |
| (正数的)原码=反码=补码 |
| 负数 | [B]原=10001101 | [B]反=11110010 | [B]补=11110011 |
| 符号位不变,把原码的数值位变反 | 符号位不变,在负数的反码基础上末尾加“1” |
1.2.2 计算机中非数值数据的表示
1.计算机中数据的单位
(1)位(bit):也称为比特,简记为b,是计算机数据存储的最小单位。每增加一位,所表示的数就增大一倍。
(2)字节(byte):简记为B,是信息存储的基本单位。1B=8bit。
1KB=210B;1MB=210KB;1GB=210MB;1TB=210GB;1PB=210TB。
(3)字(word):计算机处理数据时,CPU通过数据总线一次存取、加工和传送的数据称为字;计算机的运算部件能同时处理的二进制数据的位数称为字长。一个字通常由一个或若干个字节组成,字节越长,速度越快,精度越高,常见的有8位、16位、32位、64位和128位(服务器、巨型机)等。
2.计算机中的字符编码(ASCII码)
计算机中所有的数据都是以二进制形式表示的,分为数值型数据和非数值型数据。非数值型数据又称为字符或者符号数据,需要按照一定规则进行编码才能被计算机认可。
目前,计算机中普遍采用的字符编码是ASCII码(美国标准信息交换代码)。ASCII码是一种西文机内码,有7位码(标准ASCII码)和8位码(扩展ASCII码)两种。7位ASCII码用一个字节(8位)表示一个字符,并规定最高位为0,可以表示128个不同的字符。8位ASCII码可以表示256个字符。

图 1-6 标准ASCII码表
ASCII码表中包括不可显示的控制符和可显示的符号。
l 不可显示的控制符:0~31及127(共33个)是控制字符或通信专用字符。如控制符:LF(换行)、CR(回车)、BS(退格)、F1——F12、BEL(响铃)、DEL(删除)等。换行、响铃等小部分不可显示控制符在键盘没有对应的键。
l 可显示的符号:空格、字符、数字等。
通过观察ASCII码表,可得到以下规律:
l 同一个字母的ASCII值小写比大写字母大32D(20H)。
l 大写和小写的26个字母都是按顺序排列的。
l ASCII值大小比较:空格(space)< 0……9 < A……Z< a……z。
另外,字母A的ASCII值是65D(41H),最好能记住,以方便一些题目的计算。
3.计算机中的汉字编码
汉字编码就是每个汉字编一个唯一的代码,以便计算机辨认和处理。由于汉字数量极多,只能取使用频率较多的部分汉字进行编码,一般用连续的两个字节(16位)来表示一个汉字。
汉字输入码
汉字输入码也称汉字外部码(外码),是将汉字通过键盘输入计算机中所采用的代码。根据编码规则不同,输入码可分为四种,分别是流水码、音码、形码和音形结合码。流水码是一字一码,没有重码,如区位码、电报码等;音码是根据汉字的读音编的码,重码率高,如智能ABC、微软拼音等;形码是根据汉字的字形编的码,重码少,如五笔字型等;音形结合码也称音形码,是兼用音码和形码的方法编的码,重码少,如自然码等。
国标码
国标码也称为汉字交换码,是我国1980年推出的汉字交换码,是在区位码的基础上转换而来的。
区位码将精选出来的常用汉字排列在一个二位表中,该表分为94个区,对应第一字节;每个区94个位,对应第二字节。此94×94方阵中的每一行称为一个“区”,每一列称为一个“位”。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。共收录了6763个汉字和682个符号,共7445个字符。为了方便描述,区位码一般用十进制数来表示,如大的区位码是2083,表示在20区83位。考虑到与西文兼容的问题,区位码在编写的过程中把字符编入了区位码中,但是没有把功能键编入。
国际码在区位码的基础上保留了ASCII码前32个功能键编码,所以国际码需要在字符的区码和位码上加32,相当于十六进制的20。国标码一般用十六进制表示,把区位码的区码和位码分别转成十六进制再加上20H就是国标码。
国标码=区位码(十六进制)+20H。也可以先加32再转成十六进制。
汉字机内码
汉字机内码简称内码,是供计算机系统进行存储、加工处理和传输所使用的代码。国标码不能直接在计算机中使用,因为一个汉字占用两个字节,有可能与两个ASCII字符组合产生二义性(冲突)。因为ASCII码采用七位二进制,共127个字符,存储字节最高位为0,所以将汉字编码的每个字节的最高位设置为1,就避免了二义性。汉字的内码每个字节的最高位为1,相当于在国标码的基础上加128,正好对应十六进制的80H。
汉字机内码=国标码+8080H。
汉字字形码
汉字字形码是用来将汉字显示到屏幕上或打印到纸上所需要的图形数据。字形码记录的是汉字的外形,是汉字的输出形式,有点阵码和矢量码两种。点阵码是用点阵来表示汉字的字形,一般占用控件较大,且放大后易变形;矢量码占用控件较小,放大后基本不会失真。
点阵图字形所占字节的计算方法:水平分辨率×垂直分辨率÷8。如一个16×16的点阵的汉字要占用32个字节,一个32×32点阵的汉字要占用128个字节。
1.2.3 进位计数制及数制转换
用进位的原则进行计数称为进位计数制,简称数制。
数码:一组用来表示某种数制的符号。
l 基数:数制所使用的数码个数,简称“基”,用R表示。
l 位权:数码在不同位置上的权值(与位置有关,与数的大小无关),简称“权”。
计算机内部只能表示、存储和处理二进制数,所以,各种数据都必须转化成二进制形式,才能在计算机中进行处理。
我们常用的是十进制,共有10个数:0~9,也就是说十进制的基数是10,进位规则是“逢十进一”。每一位数字代表的含义不同,如十进制数2022,从左往右数,第一位是2,代表2个一,可以表示为2×101-1=2;第二位是2,代表2个十,可以表示为2×102-1=20;第三位是0,代表0个百,可以表示为0×103-1=0;第四位是2,代表2个千,可以表示为2×104-1=2000;第N位是M,则可以表示为:M×10N-1每一位代表的含义称为位权,十进制的位权为10N-1。
对于二进制,基数是2,只有0和1两个数字,进位规则为“逢二进一”,位权为2N-1。
除了十进制和二进制以外,我们常用的还有八进制和十六进制。常用数制的表示方法参见表1-3。
表 1-3 常见的进制
| 进制 | 基数 | 进位规则 | 位权 | 数码 | 字母标识 |
| 十进制 | 10 | 逢十进一 | 10N-1 | 0~9 | D |
| 二进制 | 2 | 逢二进一 | 2N-1 | 0,1 | B |
| 八进制 | 8 | 逢八进一 | 8N-1 | 0~7 | O |
| 十六进制 | 16 | 逢十六进一 | 16N-1 | 0~9,A,B,C,D,E,F | H |
二进制与八进制、十六进制互转
由于二进制和八进制、十六进制有特殊的关系,81=23 ,161=24,因此,它们之间转换相对简单。
表1-4 数制间的对应关系
| 十进制 | 二进制 | 八进制 | 十六进制 |
| 0 | 0 000 | 0 | 0 |
| 1 | 0 001 | 1 | 1 |
| 2 | 0 010 | 2 | 2 |
| 3 | 0 011 | 3 | 3 |
| 4 | 0 100 | 4 | 4 |
| 5 | 0 101 | 5 | 5 |
| 6 | 0 110 | 6 | 6 |
| 7 | 0 111 | 7 | 7 |
| 8 | 1 000 | 10 | 8 |
| 9 | 1 001 | 11 | 9 |
| 10 | 1 010 | 12 | A |
| 11 | 1 011 | 13 | B |
| 12 | 1 100 | 14 | C |
| 13 | 1 101 | 15 | D |
| 14 | 1 110 | 16 | E |
| 15 | 1 111 | 17 | F |
练习 1:求A=+11100100, B=-11100100 两数的反码和补码
练习 2:将下列8进制数转化为10进制
731O、307O、16O
练习 3:将下列2进制数转化为16进制
1110101B、1010001.0101B、011010010B
练习 4:将下列16进制转化为10进制
3FABH、168H、FFFH
量子计算机工作原理及优势解析
一、量子计算机如何工作?
量子比特(Qubit)
量子并行性
量子纠缠
量子干涉
二、为何能“碾压”经典计算机?
量子计算机并非在所有任务上都更快,但在特定问题上可实现指数级加速,主要归功于以下特性:
1. 破解经典难题的算法
2. 模拟量子系统
3. 优化问题
4. 量子并行性的本质优势
三、关键限制与挑战
量子纠错:量子比特极易受环境干扰(退相干),需纠错码保护,但当前技术尚未成熟。
硬件规模:目前最先进的量子计算机仅数百个量子比特,且错误率高,远未达到实用规模。
适用场景:仅对特定问题(如质因数分解、量子模拟)有优势,日常任务(如文字处理)仍依赖经典计算机。
四、总结
量子计算机通过叠加态、纠缠和干涉,在特定领域(如密码破解、材料模拟、复杂优化)实现了经典计算机无法企及的速度。然而,它并非“万能计算器”,而是与经典计算机互补的工具。未来,量子计算机可能在科研、药物开发、加密安全等领域引发革命,但全面替代经典计算机的可能性极低。