定点数的运算_第1页
定点数的运算_第2页
定点数的运算_第3页
定点数的运算_第4页
定点数的运算_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、定点数的运算定点数的运算通信与信息工程学院通信与信息工程学院 向超向超定点数的表示定点数的表示n有符号数都以有符号数都以2的补码表示的补码表示n最高位为符号位最高位为符号位.n位位16-n位位定点数的表示定点数的表示以以16bit为例,如果表示整数,大小顺序如下:为例,如果表示整数,大小顺序如下:0 x7FFF 32767 0 x0000 00 xFFFF -1 0 x8000 -32768定点数的表示定点数的表示nn-bit有符号定点整数表示的数据范围:有符号定点整数表示的数据范围:-2(n-1) 2(n-1)-1nn-bit无符号定点整数表示的数据范围:无符号定点整数表示的数据范围:0 2

2、n-1n能够表示能够表示2n个数个数n在有限位的情况下,数据范围有限在有限位的情况下,数据范围有限定点数的表示定点数的表示n同样数值的数可以用不同同样数值的数可以用不同bit的二进制数表的二进制数表示示(6)10011000000110(-5)10101111111011n用更多位表示有符号数时,用更多位表示有符号数时,左边填充符号左边填充符号位位整数的算术运算整数的算术运算n加减运算加减运算无符号数无符号数 2+900101001+1011有符号数有符号数 2+(-7)00101001+1011n处理器不区分有符号数或者无符号数,计处理器不区分有符号数或者无符号数,计算规则完全相同算规则完全

3、相同整数的算术运算整数的算术运算n乘法运算乘法运算无符号数无符号数 2x900101001x001000000000001000010010整数的算术运算整数的算术运算n乘法运算乘法运算有符号数有符号数 2x(-7)00101001x001000000000111011110010n处理器必须知道是进行有符号还是无符号处理器必须知道是进行有符号还是无符号数的运算,才能给出正确结果数的运算,才能给出正确结果扩展扩展n可以用不同位数的二进制数表示同一个数可以用不同位数的二进制数表示同一个数值值无符号数无符号数8bit)00000000 10010110(16bit)有符号

4、数有符号数 -10610010110(8bit)11111111 10010110(16bit)n无符号数的扩展,高位补无符号数的扩展,高位补0。n有符号数的扩展,高位补有符号数的扩展,高位补符号位符号位移位移位(shift)n可以通过左移一位完成可以通过左移一位完成x2n可以通过右移一位完成可以通过右移一位完成/2无符号数无符号数151 10010111 101001011 75有符号数有符号数-105 10010111 101001011 7511001011 -53逻辑右移逻辑右移算术右移算术右移定点数表示的小数定点数表示的小数n小数点后面的位数称为小数点后面的位数称为Q值值n小数点前面

5、的位数称为小数点前面的位数称为S值值n相应的表示定点小数的格式称为相应的表示定点小数的格式称为S1Q15、S2Q14、S3Q13等等n或简称或简称Q15、Q14、Q13格式的定点数格式的定点数.n位位16-n位位定点数表示的小数定点数表示的小数n以以S1Q15为例,大小顺序如下:为例,大小顺序如下:0 x7FFF0 x00010 x00000 xFFFF0 x80010 x8000-1-1+2(-15)-2(-15)02(-15)1-2(-15)整数数值整数数值/215定点数表示的小数定点数表示的小数n数据范围与精度数据范围与精度S1Q15格式格式范围范围精度精度-11-2(-15)2(-15

6、)S2Q14-22-2(-14)2(-14)S3Q13-44-2(-13)2(-13)SnQ(16-n) -2n2n-2(n-16) 2(n-16)定点数表示的小数定点数表示的小数n定点小数的数据范围与数据精度有限定点小数的数据范围与数据精度有限n需要在范围与精度间做折中需要在范围与精度间做折中n在能够表示范围的情况下选择尽量大的在能够表示范围的情况下选择尽量大的Q值,值,从而获得更大的精度从而获得更大的精度n需要考虑运算过程中间数据的范围需要考虑运算过程中间数据的范围定点数表示的小数定点数表示的小数n将小数表示成定点数形式的方法将小数表示成定点数形式的方法选择合适的选择合适的Q值值将小数将小

7、数x2Q,然后取整数部分,然后取整数部分0.54321 X215=17799.90542取整后取整后17800=0 x4588=(0100010110001000)b=0.543212890625定点数表示的小数定点数表示的小数-2.5467 X213=-20862.5664取整后取整后-20863=0 xAE81=(1010111010000001)b=-2.5467529296875定点小数的运算定点小数的运算n加减运算加减运算0.25+ (-0.75)00101010-0.511000.5+ (-1.5)-1001010101100定点小数的运算定点小数的运算n处理器的运算规则与处理器的

8、运算规则与Q值无关值无关n由程序员确定解释计算过程中的数据由程序员确定解释计算过程中的数据定点小数的运算定点小数的运算n乘法运算乘法运算0.25x (-0.75)-0.18750010X 1010000000100000111011110100.定点小数的运算定点小数的运算0.5x (-1.5)-0.750010 Q2X 1010 Q2000000100000111011110100.定点小数的运算定点小数的运算0.5x (-1.5)-0.50100 Q3X 1010 Q2000001000000110011101000.定点小数的运算定点小数的运算nSa1Qb1xSa2Qb2 = S(a1+

9、a2)Q(b1+b2)n小数运算保存结果时,可以只保存高位部小数运算保存结果时,可以只保存高位部分,从而损失部分精度分,从而损失部分精度n为了保证保存结果的为了保证保存结果的Q值,可能需要将乘积值,可能需要将乘积左移左移1位再保存位再保存nDSP提供了将乘积自动左移提供了将乘积自动左移1位的功能位的功能溢出溢出n如果计算结果超出数据表示范围,则产生如果计算结果超出数据表示范围,则产生溢出溢出n溢出以后的结果与实际结果相差甚远溢出以后的结果与实际结果相差甚远n可能向正、负两个方向溢出可能向正、负两个方向溢出0110+ 001110010.75+ 0.3751.125-0.875溢出溢出1010+

10、 11010111-0.75+ -0.375-1.1250.875从计算结果中已经无法确定实际结果从计算结果中已经无法确定实际结果应该是什么应该是什么每次算术运算,每次算术运算,CPU可以设置溢出可以设置溢出标志标志溢出溢出n信号处理算法中由于具有连续的乘累加运信号处理算法中由于具有连续的乘累加运算,因此容易出现溢出算,因此容易出现溢出n计算过程应该保证不产生溢出,或者溢出计算过程应该保证不产生溢出,或者溢出后能做正确的处理后能做正确的处理n定点定点DSP为溢出处理提供了各种机制为溢出处理提供了各种机制溢出溢出n为了确保不产生溢出,可以将需要累加的为了确保不产生溢出,可以将需要累加的数据缩小数

11、据缩小n这种方式会导致精度损失这种方式会导致精度损失溢出溢出n在每次加减运算后,判断是否溢出。如果在每次加减运算后,判断是否溢出。如果发生溢出,可以将输入数据缩小后,重新发生溢出,可以将输入数据缩小后,重新计算。计算。n极大降低计算效率极大降低计算效率溢出溢出n采用饱和的方法,得到一个最接近正确结采用饱和的方法,得到一个最接近正确结果的结果果的结果n对对32bit运算,如果向正方向溢出,结果设运算,如果向正方向溢出,结果设置成置成0 x7FFF FFFF。如果向负方向溢出,。如果向负方向溢出,结果设置成结果设置成n如果计算中间结果可能溢出,但保证最终如果计算中间结果可能溢出,但保证最终结果不会

12、溢出时,这种方法引入误差结果不会溢出时,这种方法引入误差0 x8000 0000溢出溢出n引入保护位,采用更多的位数计算引入保护位,采用更多的位数计算1111 1010+ 1111 11011111 0111-0.75+ -0.375-1.125-1.125溢出溢出n如果计算中间结果可能溢出,但保证最终如果计算中间结果可能溢出,但保证最终结果不会溢出时,这种方法不会引入误差结果不会溢出时,这种方法不会引入误差n如果最终结果产生溢出,可以通过算术右如果最终结果产生溢出,可以通过算术右移的方式得到正确结果。如将移的方式得到正确结果。如将8bit结果右移结果右移1位后保存位后保存4bit结果结果1011。这是一个损失精。这是一个损失精度的正确结果,主要其小数点位置。度的正确结果,主要其小数点位置。nDSP芯片一般芯片一般ALU和和M

温馨提示

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

评论

0/150

提交评论