第一章单片机基础知识12数的表示_第1页
第一章单片机基础知识12数的表示_第2页
第一章单片机基础知识12数的表示_第3页
第一章单片机基础知识12数的表示_第4页
第一章单片机基础知识12数的表示_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、位:一个二进制位,是计算机中信息表示的最小单位。例如:1010B就有4个二进制位。字节:相邻的8个二进制位。例:1011 0110 B为一个字节字:计算机内部进行数据传递、处理的基本单位。在PC微机中常把一个字定义为16位,即2个字节。例:0111 1010 1110 1100B 即为一个字。字长:一个字所包含的二进制位数。例:16位微处理器的字长为16。概念补充双字(Double Word):32位,4个字节,是32位微计算机的字长。四字(Quad Word):64位,8个字节,是32位微处理器的双倍精度字。双四字(DQW):128位,16个字节。模:模是计量器的最大容量。一个4位寄存器能够

2、存放00001111共计16个数,因此它的模为16。1 数值及其转换只认识0和1两个数字能处理复杂的数学计算十进制:逢十进一0、1、2、3、4、5、6、7、8、9、10、11、.无论采用何种数值,任何一个数都可以表示为: 。二进制:逢二进一0、1、10、11、100、.十六进制:逢十六进一0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、10、.(268)D(1011001)B(A8C7)H011011100101110二进制11110001001101010111100110111101111. . .实际点数. . . . . . . . . . . . . . . . .

3、. . .0123456十六进制789ABCDEF0123456十进制7891011121314151 二进制转十进制按照式 展开:按十进制计算得:2 十进制转二进制整数部分39219余12 9余12 4余12 2余02 1余0 0余12小数部分0.625021.250010.250020.500000.500021.000013 二进制转十六进制011011100101110二进制111100010011010101111001101111011110123456十六进制789ABCDEF4 十六进制转二进制数的符号二进制数算术运算逻辑运算无符号数有符号数:算术运算无符号数的运算-算数运算对

4、加法:1+1=0(有进位)对减法:0-1=1(有借位)对乘法:仅有11=1,其余皆为0; 乘以2相当于左移一位。对除法:除以2则相当于右移1位。无符号数的运算000010110100=00101100B 000010110100=00000010B 即:商=00000010B 余数=11B无符号数的表示范围一个n位的无符号二进制数X,其表示范围为: 0 X 2n-1若运算结果超出这个范围,则产生溢出溢出的判别方法:运算时,当最高位向更高位有进位(或借位)时则产生溢出。无符号数溢出举例最高位向前有进位,产生溢出。本例中:运算结果为256,超出位二进制数所 能表示的范围255。无符号数的运算-逻辑

5、运算与()或()非()异或()掌握:逻辑关系(真值表)和逻辑门。特点:按位运算,无进位/借位。运算规则任何数和“0”相“与”,结果为0任何数和“1”相“或”,结果为1BACABC&1AB=CAB=C“非”运算即按位求反两个二进制数相“异或”:相同则为0,相异则为1AABC1B=AA B=CBAB=C AB=CBACABC&1与非:先与后非或非:先或后非有符号数的表示计算机中的符号数的表示方法: 把二进制数的最高位定义为符号位。 符号位:“0” 表示正, “1” 表示负。把符号也数值化了的数,称为机器数。机器数所表示的真实的数值,称为真值。18注:后面的讲述均以8位二进制数为例。举例+52 =

6、+0110100 = 0 0110100 符号位 数值位 -52 = -0110100 = 1 0110100 真值机器数对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。最高位为符号位,用“0”表示正,用“1”表示负;数值部分照原样写出即可。优点: 真值和其原码表示之间的对应关 系简单,容易理解;缺点: 计算机中用原码进行加减运算比 较困难,0的表示不唯一。正式定义为:1 原码X原0的原码+0=0 0000000-0=1 0000000即:数0的原码不唯一。23真值:X= +1

7、8 = +0010010X= -18 = -0010010原码:X原 = 0 0010010X原 = 1 0010010符号符号位 n位原码表示数值的范围是: 对应的原码是1111 0111原码表示举例2 反码X反24对一个数X:若X0 ,则 X反=X原若X0, 则X补= X反= X原若X0, 则X补= X反+1正式定义为:3 补码X补补码的引入(0问题、减法加法化) “0”的原码并不惟一,0的原码可以表示为0 0000000(即+0),也可以表示为1 0000000(即-0) ; 用原码表示时,减法并不能转化为加法运算; 反码也存在类似问题。 但是,带符号数用补码表示后,减法可以转化为加法运

8、算补码举例例如,-23H补码的过程如下:对应正数23H的原码 0 010 0011;按位求反后为 1 101 1100,即-23H的反码;反码加1后为 1 101 1101,即-23H的补码 (0DDH)。 补码举例30+0补= +0原=00000000-0补 = -0反+1=11111111+1 =1 00000000 对应的补码是1000 0111对8位字长,进位被舍掉补码表示范围减法加法化56H-23H=56H - 23H+100H (100H是8位二进制bit8溢出) =56H +( 100H-23H ) =56H+0DDH =1 33H = 33H (1 33H是8位二进制bit8溢

9、出) 显然,56H-23H的结果与56H+0DDH相同,即引入补码后,减法可以用加法来完成。(在8位二进制中,23H与0DDH互为补码。) 补码补充知识-负数的补码数值部分不是真值 用补码表示时,最高位为0时,表示该数为正数,数值部分就是真值;而最高位为1时,为负数,数值部分并不是它的真值,必须再求补后,才得到该数的绝对值。 -23H的补码为1 1011101,按位取反后为00100010,加1后为00100011,即23H。补码补充知识-字长不同补码不同8位二进制数,补码表示的范围是-128+127;16位二进制数,补码表示的范围是-32768+32767。例如,16位二进制数中-23H的补

10、码:对应正数23H的原码为0 000 0000 0010 0011,按位取反后为1 111 1111 1101 1100;加1后为1 111 1111 1101 1101(即16位二进制数-23H的补码,相当于无符号数的0FFDDH)。可见,对于同一个数,作为8位二进制数的补码和作为16位二进制数的补码不同。 特殊数10000000该数在原码中定义为:-0在反码中定义为: -127在补码中定义为: -128对无符号数,(10000000)B=1288位、16位表示数值范围汇总对8位二进制数:原码: -127 +127反码: -127 +127补码: -128 +127对16位二进制数:原码:

11、-32767 +32767反码: -32767 +32767补码: -32768 +32767数值变换举例将一个用补码表示的二进制数转换为十进制数:X补=0 0101110B 真值为:0101110B 正数 所以:X=+46X补=1 1010010B 真值不等于:-1010010B 负数 而是:X= X补补= 11010010补 = - 0101110 = - 46符号数的运算通过引进补码,可将减法运算转换为加法运算。即:X+Y补= X补+Y补 X-Y补= X+(-Y)补 = X补+-Y补其中X,Y为正负数均可,符号位参与运算。补码举例X=-0110100,Y=+1110100,求X+Y=?X

12、原=10110100 X补= X反+1=11001100Y补= Y原=01110100所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000 符合:X+Y=+1000000补码溢出判断两个8位带符号二进制数相加或相减时,若 C7C61则结果产生溢出。其中:C7为最高位的进(借)位; C6为次高位的进(借)位。对16位或32位的运算,也有类似结论。假定以下运算都是有符号数的运算。 1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 + 0 1 1 0 0 0 1 1 1 0 1

13、 0 0 1 0 1 0 1 0 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3: 0 0 1 0 0 0 1 0 + 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1CASE4:补码溢出判断举例若:X=01111000, Y=01101001则:X+Y=即:次高位向最高位有进位,而最高位向前无进位,产生溢出。事实上,两正数相加得出负数,结果出错小数的表示方法-定点表示法 计算机中也有相应两种表示法:定点数 和浮点数符号. 数 值 部 分符号数 值 部 分 . 或小数的表示方法:浮点数 浮点表示法指小数

14、点的位置是浮动的,不固定 对于任意一个二进制数N,都可以表示成: N = m x 2 e其中:m 0 称为N的尾数;前边的符号称为数符;e称为N的阶码是非负整数,其前边的符号称为阶符阶符阶码数符尾数用于表示非数值型数据。常用的二种:BCD码用二进制编码的十进制数ASCII码美国标准信息交换代码BCD码(Binary Coded Decimal) 用四位二进制来表示一位十进制数09的编码。 它有多种编码规则,其中8421BCD码的编码规则见右图:十进制数BCD码00000100012001030011401005010160110701118100091001hijklmno、abcdefgXYZPQRSTUVWHIJKLMNOABCDEFG89:;?01234567()*+,-./SP!“#$%&CANEMSUBESCFSG3RSUSDLEDC1DC2DC3DC4NAKSYNETBBSHTLFVTFFCRSOSINULSOHSTXETXEOTENQACKBELxyz|DELpqrstuvw611051014100301120101001b6b5b400007111b3b2b1b0ASCII码表我国于1981年颁布了国家标准信息交换用汉字编码字符集基本集,代号“GB231

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论