比特(bit,binary digit的缩写)中文翻译为“二进位数字”、“二进位” 或简称为 “位”。
比特只有 2 种取值:0和1,一般无大小之分。
如同DNA是人体组织的最小单位、原子是物质的最小组成单位一样,比特是组成数字信息的最小单位。
数值、文字、符号、图像、声音、命令······都可以使用比特来表示。
2 比特的三种基本逻辑运算比特的取值“0”和“1” 可表示两种不同的状态(例如电位的高/低、开关的断开/接通)。
比特的运算使用逻辑代数,它有3种基本逻辑运算:
逻辑加(也称“或”运算,用符号“OR”、“∨”或“+”表示)。
逻辑乘(也称“与”运算,用符号“AND”、 “∧”或“ · ”表示,也可省略)。
取反(也称“非”运算,用符号“NOT”或上横杠“¯”表示)。
两个多位的二进制信息进行逻辑运算时,按位独立进行,即每一位都不受其它位的影响:
例1
A:0110 ∨ B:1010 F: 1110
例2
A: 0110∧ B: 1010 F: 0010 3 比特在计算机中如何表示?
表示一个比特需要使用两个状态:
电路的高电平状态或低电平状态(CPU)
电容的充电状态或放电状态(RAM)
两种不同的磁化状态(磁盘)
光盘面上的凹凸状态(光盘)
···
4 比特的存储存储(记忆)1个比特需要使用具有两种稳定状态的元器件,例如:开关、灯泡等。
4.1 比特在CPU中的存储
在计算机的CPU中,比特使用一种称为“触发器”的双稳态电路来存储。
触发器有两个状态,可分别用来记忆0和1,1个触发器可存储1个比特。
一组(例如8个或16个)触发器可以存储1组比特,称为“寄存器”。
CPU中有几十个甚至上百个寄存器。
断电后信息不再保持、为易失性存储器!
4.2 比特在内存中的存储
计算机存储器中用电容器存储二进位信息:当电容的两极被加上电压,它就被充电,电压去掉后,充电状态仍可保持一段时间,因而1个电容可用来存储1个比特。
电容C处于充电状态时,表示1
电容C处于放电状态时,表示0
集成电路技术可以在半导体芯片上制作出以亿计的微型电容器,从而构成了可存储大量二进位信息的半导体存储器芯片。
断电后信息不再保持!
4.3 比特在外存储器中的存储
磁盘:利用磁介质表面区域的磁化状态来存储二进位信息。
光盘:只读光盘通过“刻”在光盘片表面上的微小凹坑来记录二进位信息。
断电后信息可以保持、为非易失性存储器!
5 存储容量的计量单位8个比特=1个字节(byte,用大写B表示)
计算机内存储器容量的计量单位:
KB: 1 KB=2^10字节=1024 B (千字节) MB: 1 MB=2^20字节=1024 KB(兆字节) GB: 1 GB=2^30字节=1024 MB(吉字节、千兆字节) TB: 1 TB=2^40字节=1024 GB(太字节、兆兆字节)
外存储器容量经常使用10的幂次来计算:
1MB=10^3 KB =1 000 KB 1GB=10^6 KB =1 000 000 KB 1TB= 10^9 KB = 1 000 000 000 KB
不同进位制前缀的使用场合:
内存、cache、半导体存储器芯片的容量均使用二进制前缀:
512MB的内存条( 1M=2^20 )
256KB 的cache(1K= 2^10 )
文件和文件夹的大小使用二进制前缀。
频率、传输速率等使用十进制前缀:
主频 1GHz(1G=10^9)
传输速率 100Mbps(1M=10有^6)
外存储器(硬盘、DVD光盘、U盘、存储卡等)容量:
厂商标注的容量使用十进制前缀。
操作系统显示的容量使用二进制前缀。
6 比特的传输信息是可以传输的,信息只有通过传输和交流才能发挥它的作用。
在数字通信技术中,信息的传输是通过比特的传输来实现的。
近距离传输时:直接将用于表示“0/1”的电信号或光信号进行传输(称为基带传输),例如:
计算机读出或者写入移动硬盘中的文件。
使用打印机打印某个文档的内容。
远距离传输或者无线传输时:需要使用调制技术。
比特的传输速率:
传输速率表示每秒钟可传输的二进位数目,常用单位是:
比特/秒(b/s),也称“bps”。如 2400 bps(2400b/s) 千比特/秒(kb/s),1kb/s=103比特/秒=1 000 b/s 兆比特/秒(Mb/s),1Mb/s=106比特/秒=1 000 kb/s 吉比特/秒(Gb/s),1Gb/s=109比特/秒=1 000 Mb/s 太比特/秒(Tb/s),1Tb/s=1012比特/秒=1 000 Gb/s 8 不同进位制数的表示和含义
“数”是一种信息,它有大小(数值),可以进行四则运算。
“数”有不同的表示方法。日常生活中人们使用的是十进制数,但计算机使用的是二进制数,程序员还使用八进制和十六进制数,它们怎样表示?其数值如何计算?
8.1 十进制数
每一位可使用十个不同数字表示(0、1、2、3、4、5、6、7、8、9)。
低位与高位的关系是:逢10进1。
各位的权值是10的整数次幂(基数是10 )。
标志: 尾部加“D”或缺省。
例:
204.96=2×10^2+0×10^1+4×10^0+9×10^-1+6×10^-2
8.2 二进制数
每一位使用两个不同数字表示(0、1),即每一位使用 1 个“比特”表示。
低位与高位的关系是:逢2进1。
各位的权值是 2 的整数次幂(基数是2 )。
标志: 尾部加B
例:
101.01 B =1×2^2+0×2^1+1×2^0 +0×2^-1+1×2^-2 =5.25
8.3 十六进制数
用十六进制数来表示二进制数,相当于二进制数来说,更直观,因为4个二进制位可以用1个十六进制位来表示,因为二进制的1111等于十进制的15,也就是十六进制的F。十进制与二进制的位数对位没有十六进制方便,一位十进制相当于约3.2位二进制。
每一位使用十六个数字和符号表示(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F )。
逢16进1, 基数为16。
各位的权值是16的整数次幂(基数是16 )。
标志:尾部加H。
例:
F5.4H=15×16^1 5×16^0 4×16^-1 = 245.25
8.4 八进制数
一位八进制数可以表示三位二进制数,因为二进制的111也就是八进制的7。
每一位使用八个不同数字表示(0、1、2、3、4、5、6、7)。
低位与高位的关系是:逢8进1。
各位的权值是8的整数次幂(基数是8 )。
标志:尾部加Q。
例:
365.2Q = 3×8^2 6×8^1 5×8^0 2×8^-1 = 245.25
9 不同进制数的相互转换熟练掌握不同进制数相互之间的转换,在编写程序和设计数字逻辑电路时很有用。
只要学会二进制数与十进制数之间的转换,与八进制、十六进制数的转换就不在话下了。
9.1 十进制数→二进制数
转换方法:
整数和小数分开转换。
整数部分:除以2逆序取余
小数部分:乘以2顺序取整
例如:29.6875→ 11101.1011 B
注意:十进制小数(如0.63)在转换时会出现二进制无穷小数,这时只能取近似值。
9.2 二进制数→十进制数
转换方法:
二进制数的每一位乘以其相应的权值,然后累加即可得到它的十进制数值。
例: 11101.1011B
= 1×2^4+1×2^3+1×2^2+0×2^1+1×2^0
+1×2^-1+0×2^-2+1×2^-3+1×2^-4
= 29.6875
9.3 八进制数与二进制数的互换
八进制→二进制:把每个八进制数字改写成等值的3位二进制数,且保持高低位的次序不变。
例: 2467.32Q → 010 100 110 111 . 011 010 B
二进制→八进制:整数部分从低位向高位每3位用一个等值的八进制数来替换,不足3位时在高位补0凑满3位;小数部分从高位向低位每3位用一个等值八进制数来替换,不足3位时在低位补0凑满三位。
例: 1 101 001 110.110 01 B → 001 101 001 110.110 010 B
→ 1516.62 Q
9.4 十六进制数与二进制数的互换
转换方法:与八、二进制互换的方法类似。
例1:35A2.CFH → 11 0101 1010 0010.1100 1111B
例2:11 0100 1110.1100 11B → 34E.CCH
10 PC机中数的主要类型都采用二进制表示,有不同类型和不同长度。
不同类型和不同长度的数各有不同的用途。
10.1 无符号整数的表示
10.2 有符号整数的表示
负数的绝对值如何用补码表示?
先表示为自然码。
将自然码的每一位取反码。
在最低位加“1”。