6.1信息编码1.比特的概念2.进位计数制及进位之间的转换3.计算机内“数”的表示方法4.计算机内字符的表示方法6.1.1数字化信息编码的概念数字(Digit)技术数字技术:是采用有限个状态(目前主要是0和1两个数字)来表示、处理、存储和传输一切信息的技术。数字化:全面采用数字技术实现信息系统。数字化现状:计算机:全部采用通信和信息存储:大量采用广播电视:数字电视和数字广播越来越近采用二进制数字技术的原因器件容易实现每一位只有两个状态,电路实现容易运算规则简单加法:0+0=00+1=11+0=11+1=0(进位)减法:0-0=00-1=1(借位)1-0=11-1=0乘法:0*0=00*1=01*0=01*1=1与逻辑(布尔)代数相吻合有坚实的数学工具作为设计的基础1、比特的概念比特(binarydigit,bit)在数字系统中是组成信息的最小单位;数字技术的处理对象,二进制位,位;比特只有两种状态:数字0或数字1;计算机中的数、文字、符号、图像、声音;等,都表现为比特的不同组合;一般用小写的字母“b”表示(bit)。字节Byte“比特”单位太小,计算机并不单独对比特进行处理、存储或传输;而是采用稍大一些的计量单位——字节(Byte)1字节=8比特b7b6b5b4b3b2b1b0最高位最低位1个字节,其中bi为一个比特2、比特的运算比特的表示数字电路中,电位的高低、脉冲的有无——两个状态“0”或“1”。逻辑思维中,命题的真或假——数字“1”或“0”。比特的运算使用的数学工具——逻辑代数(布尔代数)三种最基本的逻辑运算逻辑加、逻辑乘、取反逻辑加运算逻辑加也称“或”运算,用符号“OR”、“∨”或“+”表示。运算规则如下:0011∨0∨1∨0∨10111两个多位二进制数进行逻辑加运算时,按位独立进行,相邻位之间不发生关系。例如:10111100∨0011011010111110逻辑乘运算逻辑乘也称“与”运算,用符号“AND”、“∧”或“·”表示。运算规则如下:0011∧0∧1∧0∧10001两个多位二进制数进行逻辑乘运算时,按位独立进行,相邻位之间不发生关系。例如:10111100∨0011011000110100取反运算取反:也称“非”运算,用符号“NOT”或“-”表示。运算规则如下:0→11→03、比特的存储存储(记忆)1个比特需要使用具有两种稳定状态的设备。比方:现实生活中具有两种稳定态的物体举例:开关——开、关继电器——断开、吸合灯泡——亮、暗习惯上将两种状态之间转换的过程称为“开”或“关”。稳态1稳态2非稳态但会趋于一种稳态数字计算机中比特的存储装置触发器一种双稳态电路,用以记录一个比特;特点:工作频率(开关速度)极高,但集成度较低用途:成组构成CPU内部的少量的寄存器。电容器利用电容器的充放电状态表示1个比特;特点:工作频率低于触发器,但集成度较高;用途:计算机的大容量的内存。磁盘利用磁介质表面的磁化状态表示一个比特。光盘利用盘片表面上的微小凹坑表示一个比特。注意:寄存器内存磁盘光盘半导体存储器易失性存储器,断电以后信息丢失。非易失性存储器,可用来长期存储信息。4、存储容量的表示存储容量是存储器的重要指标,存储容量的度量通常要比字节大得多,使用2的幂次作为单位有助于存储器的设计。经常使用的单位有:“千字节”(KB),1KB=210字节=1024B“兆字节”(MB),1MB=220字节=1024KB“吉字节”(GB),1GB=230字节=1024MB(千兆)“太字节”(TB),1TB=240字节=1024GB(兆兆)小结掌握数字化的概念掌握比特的概念掌握比特的运算规则掌握比特的存储技术掌握存储容量的表示6.1.2进位计数制十进制数(Decimal)十进制的基数是“10”,使用十个符号0、1、2、3、4、5、6、7、8、9,逢十进一。例如:203.49=2×102+0×101+3×100+4×10-1+9×10-2一般地说,一个十进制数KnKn-1...K1K0.K-1K-2...K-m所代表的实际数值是:S=Kn×10n+Kn-1×10n-1+...+K1×101+K0×100+K-1×10-1+K-2×10-2+…+K-m×10-m个位十位十分之一位百分之一位第n位的权第n位的系数二进制数(Binary)二进制的基数是“2”,使用两个符号0和1,逢二进一:(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2=(5.25)10一般地说,一个二进制数S=KnKn-1...K1K0.K-1K-2...K-m所代表的实际数值是:S=Kn×2n+Kn-1×2n-1+…+K1×21+K0×20+K-1×2-1+K-2×2-2+…+K-m×2-m二进制数的运算对二进制数也可以进行算术运算算术运算:两个一位数的加法和减法的基本运算规则是:加法减法00110011+0+1+0+1-0-1-0-1011100110(向高位进1)(向高位借1)两个多位二进制数的加、减法可以从低位到高位按上述规则进行,但必须考虑进位和借位的处理八进制数(Octonary)八进制数使用0、1、2、3、4、5、6、7八个符号,逢八进一。(365.2)8=3×82+6×81+5×80+2×8-1=(245.25)10十六进制数(Hexadecimal)十六进制数使用十六个符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A、B、C、D、E、F分别代表十进制的10、11、12、13、14、15。逢十六进一(F5.4)16=15×161+5×160+4×16-1=(245.25)10为什么要有不同进制?计算机中只使用二进制现实中最常用的是十进制八进制和十六进制是给程序员用的1.二进制数太长,书写、阅读、记忆均不便;•32位二进制数用十六进制书写时,只需8位。2.八进制和十六进制与二进制之间的转换直观、方便。除二进制外,其他进制的数在输入进计算机之前全部被转换成二进制。6.1.3数制之间的转换十进制数与二进制数的转换(1)二进制数=十进制数位权相加法,计算按权展开式的和例如:将11101.1011B转换为十进制数。1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4=16+8+4+0+1+0.5+0+0.125+0.0625=29.6875(2)十进制整数=二进制整数:除2取余(3)十进制小数=二进制小数:乘2取整例如:将29.6875转换为二进制数。(1)先转换整数部分29292142……172……032……112……10……1.小数点离小数点最近的一位=11101B(2)再转换小数部分0.68750.6875×21.3750×20.375……10.75……0×21.5×20.5……11.00.0……1.小数点离小数点最近的一位=0.1011B•转换表八进制数二进制数八进制数二进制数00004100100151012010611030117111•二进制数转换为八进制数举例:001101001110.110100B→1516.64Q•八进制数转换为二进制数举例:2467.32Q→010100110111.011010B八进制数与二进制数的转换十六进制数与二进制数的转换•转换表十六进制数二进制数十六进制数二进制数0000081000100019100120010A101030011B101140100C110050101D110160110E111070111F1111•二进制数转换为十六进制数举例:001101001110.11001100B→34E.CCH•十六进制数转换为二进制数举例:35A2.CFH→0011010110100010.11001111B十进制二进制十六进制八进制000000010001112001022300113340100445010155601106670111778100081091001911101010A12111011B13121100C14131101D15141110E16151111F17BCD整数BCD整数(BinaryCodedDecimal)称为“二进制编码的十进制整数”,使用4个二进位表示1个十进制数字。例如:(43)BCD=01000011(59601)BCD=01011001011000000001小结进制二进制、十进制、八进制、十六进制进制之间的转换二-十转换(系数*权的总合)十-二转换(除二取余、乘二取证)二-八转换(1个8进制位对应3个二进制位)二-十六转换(1个16进制位对应4个二进制位)其他转换BCD数6.1.4二进制数在计算机内的表示计算机中的数值信息分类整数和实数:它们都是用二进制表示的,但表示方法有很大差别。整数的概念整数不使用小数点,或者说小数点始终隐含在个位数的右面整数的分类:不带符号的整数(unsignedinteger),一定是正整数取值范围:8位0~255(28-1),16位0~65535(216-1),32位0~232-1带符号的整数(signedinteger),既可表示正整数,又可表示负整数。无符号整数的表示采用“自然码”表示:取值范围由位数决定:8位:可表示0~255(28-1)范围内的所有正整数16位:可表示0~65535(216-1)范围内的所有正整数n位:可表示0~2n-1范围内的所有正整数。十进制数8位无符号整数00000000010000000120000001030000001140000010050000010125211111100253111111012541111111025511111111······带符号整数的表示(1)符号如何表示?用最高位表示,“0”表示正号(+),“1”表示负号(-)数值部分如何表示?(1)原码表示:整数的绝对值以二进制自然码表示(2)补码表示:正整数:绝对值以二进制自然码表示负整数:绝对值使用补码表示带符号数的表示方法:用1位表示符号,其余用来表示数值部分···符号位数值部分最低位最高位举例:[+43]的8位原码为:00101011[-43]的8位原码为:10101011负数的绝对值如何用补码表示?1.先表示为自然码2.将自然码的每一位取反码3.在最低位加“1”例1:[-43]用8位补码表示所以:[-43]的8位补码为:11010101例2:[-64]用8位补码表示所以:[-64]的8位补码为:11000000(1)43=0101011(2)取反:1010100(3)加1:1010101(1)64=1000000(2)取反:0111111(3)加1:1000000“各位取反,末尾加1”原码和补码的特点原码表示法优点:与日常使用的十进制表示方法一致,简单直观缺点:加法与减法运算规则不统一,增加了成本;两个机器0:“00000000”、“10000000”,不方便运算补码表示法优点:加法与减法运算规则统一,没有“-0”,可表示的数比原码多一个缺点:不直观,人使用不方便结论:带符号整数在计算机内不采用“原码”而采用“补码”的形式表示!表数范围原码可表示的整数范围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种整数的比较8位二进制码表示无符号整数时的数值表示带符号整数(原码)时的值表示带符号整数(补码)时的值0000000000000000001111……………………0111111112712712710000000128-0-