首页 > 其他分享 >IEEE浮点数表示

IEEE浮点数表示

时间:2022-12-16 10:34:41浏览次数:46  
标签:表示 ... 规格化 单精度 尾数 浮点数 IEEE

**浮点数表示** IEEE浮点标准用$V = (-1)^s * M * 2^E 的形式来表达一个数$:   - 符号(sign) s决定这个数是负数(s=1)还是正数(s=0),而对于数值0的符号解释作为特殊情况处理。 - 尾数(significand)M是一个二进制小数,它的范围是1~2-ω,或者是0~1-ω。 - 价码(exponent) E的作用是对浮点数加权,这个权重是2的E次幂(***可能是负数***)。  
将浮点数的位表示划分为三个字段,分别对这些值进行编码: 1. 单独一个的符号位s直接龚方雄符号s. 2. k位的阶码字段$exp=e_{k-1}...e_1e_0编码阶码E。$ 3. n位小数字段$frac =f_{n-1}...f_1f_0$编码尾数M,但是编码出来的值也依赖于阶码字段的值是否等于0。   > 对单精度float类型32位长度,s=1 ,k=8,n=25.规定了位表示后,根据k值分为三种情况:   ![](/i/l/?n=23&i=blog/1922146/202212/1922146-20221216102933497-2013735628.jpg)
> **情况1:规格化的值**   > 这是最普遍的情况。当exp阶码字段的位模既不全为0(数值为0),也不全为1(单精度数为$2^8-1=255,双精度数2^{11}-1=2047$)时,都属于这类情况。   > 阶码被 解释为以偏置(bisaed)形式表示的有符号整数。即E=e-bisa,其中e是无符号数,其位表达为$e_{k-1}...e_1e_0$,而bias是一个等于$2^{k-1}-1的偏置值(单精度为127,双精度为1023)$。由此产生的指数的取值范围,对于单精度是-126~127,双精度是-1022~1023。
>对于小数字段frac的解释为描述小数值f,其中 0 ≥ f<1,其二进制表示为$0.f_{n-1}...f_1f_0$,尾数定义为M =1+f.这种方式也叫隐含的以1开头的表示,因为我们可以把M看成一个二进制表达式为$1.f_{n-1}...f_1f_0$的数字。既然我们总是能够调整阶码E,使得尾数M在范围1 ≤ M<2之中,那么这种表示是一种轻松获得一个额外精度位的技巧。  
> **情况2:非规格化的值**   > 当阶码域为全0时, 所表示的数是非规格化形式。在这种情况下E =1-Bias,而尾数M= f,也就是不含隐含的开头1.  
>>对于非规格化的值为什么这样设置偏置值? >> 使阶码值为1 - Bias而不是简单地用0-Bias,似乎是违反直觉的,我们将很快看到,这种方式提供了一种从非规格化值平滑转换到规格化值的方法。
> - 非规格化数有两个用途:   > 1. 一种表示数值0的方法。因规格化数,我们必须使M ≥ 1,这样就不能表示0了。实际上,+0.0的浮点表示位模式为全0.   > 2. 非规格化数的别外一个功能是表示那些非常接近0.0的数。 > > **情况3:特殊值** > 最后一类数值是指当阶码全为1的时候出现的。 >>- 当小数域中全为0时,得到的值表示无穷, ****>> s =1时,为正无穷,s =0时,为负无穷。-----当我们返回两个非常大或小的值相乘可以表示溢出的结果. >> - 当小数域为非零时,结果值被称为“NaN”,即返回这样的NaN值。

标签:表示,...,规格化,单精度,尾数,浮点数,IEEE
From: https://www.cnblogs.com/cn-bear/p/16986645.html

相关文章

  • 【221215-3】已知:m=5的立方,n=3的5次方。求:15的15次方=?(用含nm的表达式表示)
    ......
  • interface--IEEE sv std. 25 interfaces
    1.interface作用(1)简化portconnections,简化RTLcoding;(2)功能覆盖率的收集;(3)协议检查与断言;2.interface语法(1)interface就是一组nets或者variables;(2)......
  • java 浮点数 判断相等
    浮点数之间的等值判断,基本数据类型不能使用==进行比较,包装数据类型不能使用equals进行判断。说明:浮点数采用“尾数+阶码”的编码方式,类似于科学计数法的“有效数字+指......
  • [JSOI2015]最小表示
    链接:https://www.luogu.com.cn/problem/P6134题目描述:给定一个\(DAG\),求最多删多条边能使任意两点的连通性不会发生改变。题解:手玩几组数据可以发现答案就是图中去掉边\(......
  • NLP《词汇表示方法(三)word2vec》
    Word2Vec是2013年Google发布的工具,也可以说是一个产生词向量的一群模型组合,关于词向量,也就是嵌入词向量的解释之前也解释了,这里不赘述。该工具主要包含两个词向量的生成模型......
  • 表示数值的字符串
    请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。但是"12e","1a3.14","1.2.3","+-5"和"12e+4.......
  • 使用CAtlRegExp正则表达式检查浮点数输入
    一、VS2008(Sp1)环境使用CAtlRegExp类需要额外下载ATLServer,(因为开源代码,没集成在VS2008里了)http://atlserver.codeplex.com/二、下载后解压,如F:\CPP\ATL_Server_S......
  • 200005 计算高度已知水平距和四种坡度表示法
    点击查看代码<?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='......
  • 初探极限符号表示形式之优劣
    对于数列极限定义1,其中我们着重来看$\lim_{n\rightarrow\infty}\mspace{2mu}a_{n}=a$,这是大多数教材通常采用的对极限现象的符号代表形式,为了进一步了解极限的性质及......
  • 为什么计算机中数字符号位0表示正数,1表示负数
    你好,我是悦创。大学时上计算机组成原理课程的时候,上到计算机如何存储数据的相关知识时,因为计算机世界里面所有的数据归根结底都是由0和1来存储的,那么如何表达数值的正负......