计算机基础专升本笔记三计算机中的数据表示、编码
一、计算机中的数据的单位
(一)数据存储的单位有哪些?
计算机存储单位有 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示。我们经常将Byte简称为B,将KB简称K。
(二)需要掌握的计算机中的常用的数据单位
1.计算机的最小存储单位:bit
位 bit(Binary Digits),也称作比特,简记为b。存放一位二进制数,即 0 或 1,计算机中最小的存储单位。每增加一位,所能表示的数就增大一倍。
2.计算机存储容量基本单位:B(字节)
字节 byte,简记为B。8个二进制位(bit)为一个字节(B),是计算机中信息存储的基本单位。 (我也常说一个字节占8位)
通常情况下, 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节大小。
3.字(word)、字长
在计算机处理数据时,CPU通过数据总线一次存取、加工和传输的数据称为字,计算机运算部件能够同时处理的二进制数据的位数称为字长。一个字通常由一个或若干个字节组成,字长越长,速度越快,精度越高。常见的有8位、16位、32位、64位和128位等。
4.换算关系
b | B | KB | MB | GB | TB | PB | EB | ZB | YB | BB | |
---|---|---|---|---|---|---|---|---|---|---|---|
汉语 | 比特 | 字节 | 千字节 | 兆字节 | 吉字节 | 万亿字节 | 千万亿字节 | 百亿亿字节 | 十万亿亿字节 | 一亿亿亿字节 | 一千亿亿亿字节 |
又称 | 兆 | 千兆 | 太字节 | 拍字节 | 艾字节 | 泽字节 | 尧字节 | ||||
英语 | bit | Byte | Kilobyte | Megabyte | Gigabyte | Trillionbyte | Petabyte | Exabyte | Zettabyte | Yottabyte | Brontobyte |
1B=8bit,
1KB = 210B = 1024B,
1MB = 210KB = 1024KB,
1GB = 210MB = 1024MB,
1TB = 210GB = 1024GB,
1PB = 210TB = 1024TB,
1EB = 210PB = 1024PB,
1ZB = 210EB = 1024EB,
1YB = 210ZB = 1024ZB,
1BB = 210YB = 1024YB.
(三)计算机中的数值编码
计算机中数值的表示
计算机中的数值分为带符号数和无符号数。
带符号数:通常规定一个数的最高位为符号位,0表示正数,1表示负数。
注意区分机器数和真值的概念
机器数:在机器内部存放的正负号数字化后的数。
真值:在计算机外部存放的由正负号表示的数。
BCD编码(8421编码):是用二进制代码表示十进制的编码,规定用4位二进制数表示1位十进制数。
BCD编码解释:BCD编码(Binary—Coded—Decimal)它是解决数码的表示问题,形式上像二进制,而非前面学过的二进制和十进制的转换问题。一般采用较多的是8421编码,在题目中要对8421数字敏感。例如将数字6397转换成BCD的8421编码就是0110 0011 1001 0111B。
注意BCD编码与4位二进制编码的区别
①在BCD编码中,无论前面是否有零,每一个十进制数都用4位二进制来表示;
②BCD码每组四位二进制数说表示的最大值是:1001;
③四位二进制数说表示的最大值是:1111。
数值的原码、反码、补码
对于整型数据,其二进制表示形式有三种,分别是:原码、反码、补码,而实际存储的是整型数据的补码。
原码、反码以及补码都是有符号的,其中最高位存放符号位,0 表示正数,1 则表示负数。故在进行原码反码补码运算的过程中第一步应该区分该数是正数还是负数。
(1)原码:最高位表示正负,其余位表示数值。
(2)反码:正数的反码和原码相同;负数的反码是在原码的基础上,符号位不变,其余位按位取反。
(3)补码:正数的补码和原码也相同;负数的补码是在反码的基础上加 1。
注意:正数的原码、反码、补码都相同;
负数的原码、反码、补码需要转化。
(4)补码还原:原码转补码的逆运算。
(5)计算机内部的减法运算:利用数字的补码将减法运算变成加法运算,这样符号位和数字位就能够同时参与运算。
西文字符编码
ASCII码(美国标准信息交换代码)ASCII码是一种西文机内码(最高位为0)。在ASCII码中的所有字符都占用一个字符。
标准ASCII码:一个字节表示一个字符,7位数值位,最多可表示128个不同字符;
拓展ASCII码:一个字节表示一个字符,8位数值位,做多可表示256个不同字符;
ASCII码中表中的不可显示的控制符以及可显示的符号
(1)不可显示的控制符:不可显示的有33个,包含0~31及127,是控制字符或通信专用字符。如LF(换行)、CR(回车)、BS(退格)等。
(2)可显示的字符:字符、数字、空格等。
7位ASCII码组成部分如下:
① 10个数字:0 – 48········9 – 57
② 26个大写字母:A – 65 ······· Z – 90
③ 26个小写字母:a – 97 ·······z – 122
④ 33个标点符号
⑤ 33个控制码
7位ASCII码的注意事项:
①大写字母+32 = 小写字母(同一字母的ASCII码值小写比大写大32(20H));
②上述ASCII码组成中的前4种是可以打印的(数字、大小写字母、标点符号);
③需要记住数字、大写字母和小写字母起始字符对应的数值,考试时会默认大家知道数字、大写字母和小写字母的起始数值,考察方式一般是告知某一大写字母的ASCII码数值去求某一小写字母的ASCII码数值;
④熟记0对应48、A对应65、a对应97;
⑤在计算机内部,1个字节为8位二进制即1B=8b,虽说7位ASCII码只有7位,但仍需要1个字节的存储空间;
⑥在ASCII码中的所有字符都占用一个字符。
汉字编码
(1)国标码:又称GB2312-80或汉字交换码,收录了常用的汉字和部分图形符号。是我国1980年推出的汉字交换码。
(2)区位码:像坐标一样存储常用的汉字,由2位十进制的区号和2位十进制的位号组成,可以使得查询更方便。区位码表中包含94个区,对应第一个字节;每个区94个位,对应第二个字节。
(3)机内码:简称内码,是计算机内部处理和存储汉字使用的代码,解决了英文字符(ASCII码)与汉字(机内码)冲突的问题。可以存储西文和中文信息。因为7位ASCII码最高位为0,为避免二义性,将汉字编码的每个字节的最高位设置为1。
(4)区位码、国标码与机内码之间的差值关系:
①区位码+2020H=国标码;
②国标码+8080H=机内码;
③区位码+A0A0H=机内码;
④注意在进行运算时需要先转换成十六进制之后再进行运算。
(5)汉字输入码:又称汉字外码,表示键盘各键对应汉字的关系,其实就是用键盘上的各个键去表示不同汉字 。根据编码规则不同,输入码可分为四种,分别是流水码、音码、形码和音形结合码。流水码是唯一没有重码的输入码。
(6) 汉字字形库:字母、符号和汉字究其本质都是图形,汉字字形库可以将汉字的形状输出出来从而让我们看清是什么字形。
汉字字形库分为点阵字库和矢量字库,点阵字库其实就是将单个汉字离散成网点,在此只需记住求一个字形库所占的存储空间(字节数B)的计算方法:
字形库所占的存储空间 = 行点数×列点数/8;
字形库所占的存储空间 = 水平分辨率×垂直分辨率/8。
需要注意最后存储空间的单位是B
这里附一篇比较不错的文章:点阵字库与矢量字库
(7) 汉字编码在计算机中的工作顺序:
输入码→汉字交换码(国标码)→机内码→字形码