定点数和浮点数的区别
- 格式:pdf
- 大小:97.87 KB
- 文档页数:1
cloudseawang定点数与浮点数区别最近做HDR时,经常要用NV提供的16位纹理,它的说明书16位能达到24位的精度,就很奇怪?一直搞不懂浮点数的精度怎么算的?今天认真看了一下IEEE float point的标准,终于明白是什么了1. 什么是浮点数在计算机系统的发展过程中,曾经提出过多种方法表达实数。
典型的比如相对于浮点数的定点数(Fixed Point Number)。
在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。
货币的表达就可以使用这种方式,比如99.00 或者00.99 可以用于表达具有四位精度(Precision),小数点后有两位的货币值。
由于小数点位置固定,所以可以直接用四位数值来表达相应的数值。
SQL 中的NUMBER 数据类型就是利用定点数来定义的。
还有一种提议的表达方式为有理数表达方式,即用两个整数的比值来表达实数。
定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。
最终,绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。
这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa ),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。
比如123.45 用十进制科学计数法可以表达为1.2345 × 102 ,其中1.2345 为尾数,10 为基数,2 为指数。
浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。
提示: 尾数有时也称为有效数字(Significand)。
尾数实际上是有效数字的非正式说法。
同样的数值可以有多种浮点数表达方式,比如上面例子中的123.45 可以表达为12.345 ×101,0.12345 × 103 或者1.2345 × 102。
因为这种多样性,有必要对其加以规范化以达到统一表达的目标。
定点数和浮点数1、定点数(Fixed-Point Number)计算机处理的数据不仅有符号,而且大量的数据带有小数,小数点不占有二进制一位而是隐含在机器数里某个固定位置上。
通常采取两种简单的约定:一种是约定所有机器数的小数的小数点位置隐含在机器数的最低位之后,叫定点纯整机器数,简称定点整数。
另一种约定所有机器数的小数点隐含在符号位之后、有效部分最高位之前,叫定点纯小数机器数,简称定点小数。
无论是定点整数,还是定点小数,都可以有原码、反码和补码三种形式。
2、浮点数(Floating-Point Number)计算机多数情况下采作浮点数表示数值,它与科学计数法相似,把一个二进制数通过移动小数点位置表示成阶码和尾数两部分:其中:E——N的阶码(Expoent),是有符号的整数S——N的尾数(Mantissa),是数值的有效数字部分,一般规定取二进制定点纯小数形式。
例:1011101B=2+7*0.1011101,101.1101B=2+3*0.1011101,0.01011101B=2-1*0.1011101浮点数的格式如下:阶符阶尾符尾数浮点数由阶码和尾数两部分组成,底数2不出现,是隐含的。
阶码的正负符号E0,在最前位,阶反映了数N小数点的位置,常用补码表示。
二进制数N小数点每左移一位,阶增加1。
尾数是这点小数,常取补码或原码,码制不一定与阶码相同,数N的小数点右移一位,在浮点数中表现为尾数左移一位。
尾数的长度决定了数N的精度。
尾数符号叫尾符,是数N的符号,也占一位。
例:写出二进制数-101.1101B的浮点数形式,设阶码取4位补码,尾数是8位原码。
-101.1101=-0.1011101*2+3浮点形式为:阶码0011 尾数11011101补充解释:阶码0011中的最高位“0”表示指数的符号是正号,后面的“011”表示指数是“3”;尾数11011101的最高位“1”表明整个小数是负数,余下的1011101是真正的尾数。
定点数与浮点数计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。
1. 定点数表示法(fixed-point)所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。
在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。
一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。
若数据x 的形式为x = x0.x1x2…x n( 其中x0为符号位,x1~x n是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:一般说来,如果最末位x n = 1,前面各位都为0 ,则数的绝对值最小,即|x|mi n = 2-n。
如果各位均为1,则数的绝对值最大,即|x|ma x =1-2-n 。
所以定点小数的表示范围是:2- n ≤ | x| ≤ 1 - 2- n定点整数是纯整数,约定的小数点位置在有效数值部分最低位之后。
若数据x 的形式为x = x0x1x2…x n ( 其中x0为符号位,x1~x n是尾数,x n为最低有效位),则在计算机中的表示形式为:定点整数的表示范围是:1≤ | x| ≤ 2n - 1当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上溢和下溢统称为溢出。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运算,运算结果,根据比例因子,还原成实际数值。
若比例因子选择不当,往往会使运算结果产生溢出或降低数据的有效精度。
用定点数进行运算处理的计算机被称为定点机。
2. 浮点数表示法(floating-point number)与科学计数法相似,任意一个J进制数N,总可以写成N = J E × M式中M称为数N 的尾数(mantissa),是一个纯小数;E 为数N 的阶码(e x ponent),是一个整数,J称为比例因子J E 的底数。
定点数与浮点数计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。
1. 定点数表示法(fixed-point)所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。
在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。
一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。
若数据x 的形式为x = x0.x1x2…x n( 其中x0为符号位,x1~x n是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:一般说来,如果最末位x n = 1,前面各位都为0 ,则数的绝对值最小,即|x|mi n = 2-n。
如果各位均为1,则数的绝对值最大,即|x|ma x =1-2-n 。
所以定点小数的表示范围是:2- n ≤ | x| ≤ 1 - 2- n定点整数是纯整数,约定的小数点位置在有效数值部分最低位之后。
若数据x 的形式为x = x0x1x2…x n ( 其中x0为符号位,x1~x n是尾数,x n为最低有效位),则在计算机中的表示形式为:定点整数的表示范围是:1≤ | x| ≤ 2n - 1当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上溢和下溢统称为溢出。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运算,运算结果,根据比例因子,还原成实际数值。
若比例因子选择不当,往往会使运算结果产生溢出或降低数据的有效精度。
用定点数进行运算处理的计算机被称为定点机。
2. 浮点数表示法(floating-point number)4与科学计数法相似,任意一个J进制数N,总可以写成N = J E × M式中M称为数N 的尾数(mantissa),是一个纯小数;E为数N 的阶码(e x ponent),是一个整数,J称为比例因子J E 的底数。
1、请简述操作系统的基本功能。
答:用户接口:主要有命令行接口和图形用户接口进程及处理机管理:在操作系统的系统状态下,输入操作系统命令或运行用户应用程序都要占用计算机CPU资源,为程序分配CPU资源是由操作系统来完成的。
存储管理:主要是之对计算机主存储器即内存的管理文件管理:文件系统负责管理在外存储器的信息并把对信息的存取、共享和保护等手段提供给操作系统用户。
设备管理:操作系统的设备管理系统是用于对外围设备输入输出进行控制和管理2、请简述数的定点表示与浮点表示的异同点。
答:定点数:定点数指小数点在数中的位置是固定不变的,通常有定点整数和定点小数。
在对小数点位置作出选择之后,运算中的所有数均应统一为定点整数或定点小数,在运算中不再考虑小数问题。
(1)定义:数据中小数点位置固定不变的数(2)种类:定点整数(3)小数点在符号位与有效位之间。
注:定点数受字长的限制,超出范围会有溢出。
浮点数:浮点数中小数点的位置是不固定的,用阶码和尾数来表示。
通常尾数为纯小数,阶码为整数,尾数和阶码均为带符号数。
尾数的符号表示数的正负;阶码的符号则表明小数点的实际位置。
(1)形式:N=M×2E (2)M:尾数(3)E:阶码(4)在计算机中M和E表示形式为阶码尾数符号尾数将其与数学中的科学记数法进行比较。
注:其浮点数的精度由尾数决定,数的表示范围由阶码决定。
定点数与浮点数区别定点表示法运算直观,但数的表示范围较小,不同的数运算时要考虑比例因子的选取,以防止溢出。
浮点表示法运算时可以不考虑溢出,但浮点运算,编程较难。
要掌握定、浮点数的转换方法及浮点数规格化方法。
/3、在Excel工作表中有哪几种常用的数据类型?如何输入分数和字符类型的数字数据?答:常用数据类型有: 数字型,文本型,错误型,逻辑型输入分数的方法是: 例如输入1/2, 请输入0 1/2, 0和1/2之间是空格,大于1的分数的输入方法同理2 1/2, 3 1/4等输入字符型数字可以在前面加单引号例如'012344、请简述计算机病毒的基本特征。
计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。
1. 定点数表示法(fixed-point)所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。
在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。
一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。
若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2-n。
如果各位均为1,则数的绝对值最大,即|x|max=1-2-n。
所以定点小数的表示范围是:2-n≤|x|≤1 -2-n定点整数是纯整数,约定的小数点位置在有效数值部分最低位之后。
若数据x的形式为x=x0x1x2…xn(其中x0为符号位,x1~xn是尾数,xn为最低有效位),则在计算机中的表示形式为:定点整数的表示范围是:1≤|x|≤2n-1当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上溢和下溢统称为溢出。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运算,运算结果,根据比例因子,还原成实际数值。
若比例因子选择不当,往往会使运算结果产生溢出或降低数据的有效精度。
用定点数进行运算处理的计算机被称为定点机。
2. 浮点数表示法(floating-point number)与科学计数法相似,任意一个J进制数N,总可以写成N = J E×M式中M称为数N的尾数(mantissa),是一个纯小数;E为数N的阶码(exponent),是一个整数,J称为比例因子J E的底数。
简述定点、浮点表示法的区别。
定点表示法和浮点表示法是两种不同的数据表示方式。
定点表示法一般用来表
示固定的数字,其特点是精度较高,但是占用的存储空间也大。
而浮点表示法则更加灵活,能够表示变化的数字,存储空间也比定点表示法小,但是有一定精度损失,这两种表示法互补可以给我们更多的计算机使用选择。
首先,定点表示法是指将数字按照一定的规则固定分成若干部分,比如我们进
行十进制小数表示时,它固定分割出整数部分和小数部分,进而用二进制表示数据,其各个部分存储在固定的的字节大小的内存单元里,使得存储的精度非常高。
但是定点表示法也有缺点,比如处理动态变化的数据时精度会有影响,占用的存储空间也大。
而浮点表示法的概念主要源于数学中的浮点数,即能够在改变参数值的情况下
仍能保持一定的精确度,因此在计算机科学中浮点数也同样可以表示一定范围内变化数据。
相比定点表示法,浮点表示法容易实现,且占用内存空间相对小。
但是在精度上有一定损失,再有国际标准IEEE 754推荐的浮点表示,依然无法避免产生
舍入误差,进行高精度的计算就很有局限性。
从上述对比可以看出,定点表示法和浮点表示法各有优势,相互交互可以满足
不同的应用场景。
当然,应用层面若想处理浮点数,依然需要进行技术支撑,特别是进行大规模运算时,不仅要求开发者必须理解定点表示法和浮点表示法的基本原理,也还要对算法进行优化提高计算精度。
定点数与浮点数
定点数
定点数是小数点固定的数。
在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。
一般固定在机器数的最低位之后,或是固定在符号位之后。
前者称为定点纯整数,后者称为定点纯小数。
例题:用8位原码表示定点整数(100)10
(100)10 = (1100100)2
定点整数表示为
例题:用8位原码表示定点纯小数(-0.6875)10
(-0.6875)10 = (-0.1011)2
定点纯小数表示为
定点数表示法简单直观,但是数值表示的范围太小,运算时容易产生溢出。
浮点数
浮点数是小数点的位置可以变动的数。
为增大数值表示范围,防止溢出,采用浮点数表示法。
浮点表示法类似于十进制中的科学计数法。
在计算机中通常把浮点数分成阶码和尾数两部分来表示,其中阶码一般用补码定点整数表示,尾数一般用补码或原码定点小数表示。
为保证不损失有效数字,对尾数进行规格化处理,也就是平时所说的科学记数法,即保证尾数的最高位为1,实际数值通过阶码进行调整。
一般浮点数在机器中的格式为:
阶符表示指数的符号位、阶码表示幂次、数符表示尾数的符号位、尾数表示规格化后的小数值。
N = 尾数×基数阶码(指数)
例题:二进制数-110101101.01101可以写成: -0.11010110101101×21001
这个数在机器中的格式为(阶码用8为表示,尾数用24位表示)
[关闭窗口]。