浮点数表示方法


浮点数表示方法

文章插图
浮点数是一种公式化的表达方式,用来近似表示实数,并且可以在表达范围和表示精度之间进行权衡(因此被称为浮点数) 。
浮点数通常被表示为:
N=M×R^E
比如:12.345=1.2345×10^1
其中,M(Mantissa)被称为浮点数的 尾数,R(Radix)被称为阶码的 基数,E(Exponent)被称为阶的 阶码。计算机中一般规定R为2、8或16,是一个确定的常数,不需要在浮点数中明确表示出来 。
因此,在已知标准下,要表示浮点数 。
一是要给出尾数M的值,通常用定点小数形式表示,它决定了浮点数的表示精度,即可以给出的有效数字的位数 。
二是要给出阶码,通常用定点整数形式表示,它指出的是小数点在数据中的位置,决定了浮点数的表示范围 。因此,在计算机中,浮点数通常被表示成如下格式:(假定为32位浮点数,基为2,其中最高位为符号位) 。
浮点数的规格化表示
按照上面的指数表示方法,一个浮点数会有不同的表示:
0.3×10^0;0.03×10^1;0.003×10^2;0.0003×10^3 。
为了提高数据的表示精度同时保证数据表示的唯一性,需要对浮点数做规格化处理 。
在计算机内,对非0值的浮点数,要求尾数的绝对值必须大于基数的倒数,即|M|≥1/R 。
【浮点数表示方法】即要求尾数域的最高有效位应为1,称满足这种表示要求的浮点数为规格化表示:把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现 。
浮点数的二进制表示:
例如:-12.5 转为单精度二进制表示
12.5:
整数部分12,二进制为1100小数部分0.5, 二进制是.1,先把他们连起来,从第一个1数起取24位(后面补0):
1100 .1 000 00000000 00000000
这部分是有效数字 。(把小数点前后两部分连起来再取掉头前的1,就是尾数)
把小数点移到第一个1的后面,需要左移3位(1.1001 000 00000000 0000 0000 *2^3 ), 加上偏移量127:127+3=130,二进制是10000010,这是阶码 。
-12.5是负数,所以符号位是1 。把符号位,阶码和尾数连起来 。注意,尾数的第一位总是1,所以规定不存这一位的1,只取后23位:
1 10000010 10010000000000000000000
二进制是计算技术中广泛采用的一种数制 。二进制数据是用0和1两个数码来表示的数 。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二” 。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制 。电脑的基础是二进制 。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关 。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据 。
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数 。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法 。

    推荐阅读