1 什么是比特?比特(bit, binary digit的缩写)中文翻译为“二进位数字”、“二进位”或简称为“位” 比特只有 2 种取值:0 和 1 ,一般无大小之分如同 DNA 是人体组织的最小单位、原子是物质的最小组成单位一样,比特是组成数字信息 的最小单位数值、文字、符号、图像、声音、命令 都可以使用比特来表示2 比特的三种基本逻辑运算比特的取值“0”和“I”可表示两种不同的状态(例如电位的高/低、开关的断开/接通) 比特的运算使用逻辑代数,它有3 种基本逻辑运算:逻辑加(也称“或”运算,用符号“OR”、“V”或“ + ”表示)逻辑乘(也称“与”运算,用符号“AND”、 “人”或“・”表示,也可省略)取反(也称“非”运算,用符号“NOT”或上横杠“一”表示) 两个多位的二进制信息进行逻辑运算时,按位独立进行,即每一位都不受其它位的影响例1A:0110B:V1010F:1110例2A:0110B:A1010F:00103 比特在计算机中如何表示? 表示一个比特需要使用两个状态: 电路的高电平状态或低电平状态(CPU) 电容的充电状态或放电状态(RAM) 两种不同的磁化状态(磁盘) 光盘面上的凹凸状态(光盘) 例 1:CPU 内部比特的表示CPU 内部通常使用高电平表示1,低电平表示04 比特的存储存储(记忆)1 个比特需要使用具有两种稳定状态的元器件,例如:开关、灯泡等。
4.1比特在CPU中的存储 在计算机的 CPU 中,比特使用一种称为“触发器”的双稳态电路来存储 触发器有两个状态,可分别用来记忆0和1, 1个触发器可存储1个比特 一组(例如8个或16个)触发器可以存储1组比特,称为“寄存器”CPU 中有几十个甚至上百个寄存器 断电后信息不再保持、为易失性存储器!4.2 比特在内存中的存储 计算机存储器中用电容器存储二进位信息:当电容的两极被加上电压,它就被充电,电压去 掉后,充电状态仍可保持一段时间,因而1个电容可用来存储1个比特电容C处于充电状态时,表示1电容C处于放电状态时,表示0集成电路技术可以在半导体芯片上制作出以亿计的微型电容器,从而构成了可存储大量二进 位信息的半导体存储器芯片断电后信息不再保持!4.3 比特在外存储器中的存储 磁盘:利用磁介质表面区域的磁化状态来存储二进位信息 光盘:只读光盘通过“刻”在光盘片表面上的微小凹坑来记录二进位信息 断电后信息可以保持、为非易失性存储器!5 存储容量的计量单位个比特=1个字节(byte,用大写B表示)计算机内存储器容量的计量单位:KB: 1 KB=210 字节=1024 B (千字节)MB: 1 MB=220 字节=1024 KB (兆字节)GB: 1 GB=230字节=1024 MB (吉字节、千兆字节)TB: 1 TB=240字节=1024 GB (太字节、兆兆字节)外存储器容量经常使用10的幕次来计算:1MB=103 KB =1 000 KB1GB=106 KB =1 000 000 KB1TB= 109 KB = 1 000 000 000 KB现象160GB 的移动硬盘实际容量=160,041,885,696 字节 相同的符号,有两种不同的含义!不同进位制前缀的使用场合内存、cache、半导体存储器芯片的容量均使用二进制前缀:512MB 的内存条(1M = 220 )256KB 的 cache (1K= 210 )文件和文件夹的大小使用二进制前缀频率、传输速率等使用十进制前缀:主频 1GHz(1G=109)传输速率 100Mbps (1M = 106)外存储器(硬盘、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/s8 不同进位制数的表示和含义“数”是一种信息,它有大小(数值),可以进行四则运算“数”有不同的表示方法。
日常生活中人们使用的是十进制数,但计算机使用的是二进制数,程序员还使用八进制和十六进制数,它们怎样表示?其数值如何计算?8.1 十进制数每一位可使用十个不同数字表示(0、1、2、3、4、5、6、7、8、9)低位与高位的关系是:逢10进1各位的权值是10的整数次幂(基数是10 )标志:尾部加“D”或缺省例:204.96=2 X 102+0 X 101+4 X100+9 X 10 -1 + 6 X 10 - 28.2 二进制数每一位使用两个不同数字表示(0、1),即每一位使用 1 个“比特”表示 低位与高位的关系是:逢2进1各位的权值是 2 的整数次幂(基数是2 )标志: 尾部加 B例:101.01 B =1X22+0X21 + 1X20 +0X2 —1 + 1X2 —2 =5.258.3 八进制数每一位使用八个不同数字表示(0、1、2、3、4、5、6、7)低位与高位的关系是:逢8进1各位的权值是8的整数次幂(基数是8 )标志:尾部加 Q例:365.2Q = 3x82+ 6X81+ 5X80 + 2X8 — 1 = 245.258.4 十六进制数每一位使用十六个数字和符号表示(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F ) 逢16进1, 基数为16各位的权值是16的整数次幂(基数是16 )标志:尾部加 H例:F5.4H=15X161 + 5X160 + 4X16—1 = 245.258.5 不同进制数的相互转换 熟练掌握不同进制数相互之间的转换,在编写程序和设计数字逻辑电路时很有用只要学会二进制数与十进制数之间的转换,与八进制、十六进制数的转换就不在话下了 十进制数 二进制数转换方法:整数和小数放开转换整数部分:除以2 逆序取余小数部分:乘以2顺序取整例如:29.687511101.1011 B注意:十进制小数(如0.63)在转换时会出现二进制无穷小数,这时只能取近似值 二进制数 十进制数转换方法: 二进制数的每一位乘以其相应的权值,然后累加即可得到它的十进制数值例: 11101.1011B=1X24 + 1X23 + 1X22 + 0X21 + 1X20+1X2-1+0X2-2+1X2-3+1X2-4= 29.6875八进制数与二进制数的互换八进制一二进制:把每个八进制数字改写成等值的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 Q1位八进制数与3位二进制数的对应关系: 十六进制数与二进制数的互换转换方法:与八、二进制互换的方法类似例 1: 35A2.CFH — 11 0101 1010 0010.1100 1111B例 2: 11 0100 1110.1100 11B — 34E.CCH9 PC 机中数的主要类型 都采用二进制表示,有不同类型和不同长度 不同类型和不同长度的数各有不同的用途(2) 补码表示: 正整数:绝对值以二进制自然码表示 负整数:绝对值使用补码表示原码表示举例:[+43]的 8 位原码为: 00101011[- 43]的 8位原码为: 10101011[+43]的 8 位补码为: 00101011 带符号整数的表示(2)负数的绝对值如何用补码表示? 先表示为自然码将自然码的每一位取反码在最低位加“1”例1: [- 43]用 8位补码表示所以:[- 43] 的8位补码为: 11010101例 2: [- 64]用 8 位补码表示所以:[- 64] 的 8 位补码为:1100000043 => 0101011取反: 1010100加 1: 101010164 => 1000000取反: 0111111加 1: 1000000带符号整数的表示(3)优缺点分析:原码表示法优点:与日常使用的十进制表示方法一致,简单直观 缺点:加法与减法运算规则不统一,增加了成本;整数 0 有“00000000”和“10000000” 两种表示形式,不方便补码表示法优点:加法与减法运算规则统一,没有“-0”,可表示的数比原码多一个(-2n-1) 缺点:不直观,人使用不方便结论:带符号整数在计算机内不采用“原码”而采用“补码”的形式表示! 带符号整数的表示(4)原码可表示的整数范围8 位原码: -27+1 〜27- 1 (- 127〜127)16 位原码: -215+1 〜215- 1 (- 32767〜32767)n 位原码: - 2n-1+1〜2n-1- 1补码可表示的整数范围8位补码: - 27〜27- 1 (- 128〜127 )n 位补码: - 2n-1〜2n-1- 1- 128 表示为 10000000+127 表示为 01111111小结: 3 种整数的比较计算机中整数有多种,同一个二进制代码表示不同类型的整数时,其含义(数值)可能不 同一个代码它到底代表哪种整数(或其它东西),是由指令决定的9.2 实数的特点与表示方法特点:既有整数部分又有小数部分,小数点位置不固定整数和纯小数是实数的特例任何一个实数总可以表达成一个乘幂和一个纯小数之积例如: 56.725 = 0.56725X10^2-0.0034756 = -0.34756X 10A-2实数的表示方法(记阶法/浮点表示法):用3个部分表示 乘幂中的指数(也称阶码):表示实数中小数点的位置纯小数部分(尾数):表示实数中的有效数字部分 数的正负(符号)二进制实数的浮点表示 与十进制实数一样,二进制实数也可以用记阶法表示例如: +1001.011B = + 0.1001011BX2A 100—0.0010101B = -0.10101BX2-10可见,任一个二进制实数 N 均可表示为:N=±Sx2P(其中,土是该数的符号;S是N的尾数;P是N的阶码)因此, 32 位的单精度浮点数在计算机中可表示为: 二进制实数的浮点表示 相同长度的浮点数和定点数,浮点数可表示的数的范围比定点数大得多 由于指数(阶码)可以选用不同的。