IEEE 754格式是什么-

近期IEEE 754格式是什么?成为网络焦点,我们通过专业视角对相关信息进行了梳理,期待这些内容能为您排忧解难。

IEEE二进制浮点数算术标准(IEEE 754)是最广泛使用的浮点数运算标准,它规定了四种表示浮点数值的方式:单精确度(32位元)、双精确度(64位元)、延伸单精确度(43位元以上,很少使用)与延伸双精确度(79位元以上,通常以80位元实做)。

浮点数

在 C 语言中,有两种存储浮点数的方式,分别是 float 和 double ,当然了还有long double。这几种浮点型所容纳的长度不同,当然它们存储的精度也就不同了。

对于整形而言,比如 int 、short 、char 之类的,在内存中的存储方式都是用?补码?进行表示。而浮点数在内存中并没有使用补码进行表示。浮点数在内存中存储的方式使用了?IEEE?的编码表示方式,即使用?符号、指数?和?尾数?的形式进行存储的。

IEEE754标准

直至20世纪70年代末, 实数(十进制数)被不同的计算机厂商表示成不同的二进制形式, 这使得许多程序与不同的机器不兼容. 1980年IEEE委员会将实数的浮点数据表示进行了标准化. 该标准大部分由Intel基于8087数学协处理器定制的. 认识到不同的程序需要不同的精度, 因此建立了单精度和双精度. 而今几乎所有的软件和硬件公司都遵循这些标准, 因此有必要做一些了解.

IEEE单精度浮点数使用32位数据表示 到 范围内的正负实数. 转换为十进制大约是 到 的正负实数. 这种单精度浮点数有时也叫短实数. 32位单精度形式的赋值如下图所示:

为了数学处理器的硬件设计更简单以及更少的晶体管消耗, 指数部分被加上一个常数 作为偏置指数. 从实数转换为浮点有以下步骤:

例1 : 将 转换成单精度(短实数)浮点.

= = 二进制科学计数法 1.00111 E 3

正数b31 = 0

偏置指数b30-23为1000 0010(3+7F=82H)

有效数字位b22-0为 001110000000000000000…00.

综合给出二进制形式, 下面一行是16进制值

例2 : Convert decimal 15.575 to IEEE single-precision standard.

例3 : Convert decimal –0.00075 to IEEE single-precision standard.

验证程序(c):

双精度浮点数(Intel称之为长实数)可以表示 到 的正负实数. 52位有效数字, 11位指数, 第63位表示符号. 转换过程和单精度浮点一样, 首先表成1.xxx E yyy, 然后yyy加3FF得到偏置指数. 如下图所示:

例4 : Convert decimal 152.1875 to double-precision FP.

152.1875 = 二进制10011000.0011 = 科学二进制1.00110000011 E 7

b63 = 0

偏置指数b62-53 = 10000000110 (7+3FF=406)

有效数字位b52-0 = 00110000011000…..000

[1]. Muhammad Ali Mazidi etc. ARM Assembly Language Programming & Architecture [M]. section5.3

[2]. IEEE_754

[3]. Unit in the last place

关于IEEE754标准规定的64位浮点数格式中,能表示的最大规格化正数是

将原始数据进行整数化:

(178.125)10*(2^3)10

=(178.125)10*(8)10

=(1425)10

=(591)16

=(0101 1001 0001)2

=(010110010001)2

因为最初乘了8,即2的3次方,所以换算成二进制时应右移3位,去掉前导零,

即(10110010.001)2

单精度浮点数保存的字节格式如下:

地址:+0 +1 +2 +3

内容:SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM

根据IEEE浮点数的定义,将上述二进制数规格化:

(178.125)10

>(10110010.001)2

>+1.0110010001 * (2^7)

符号S为正,等于0 B;

指数EEEEEEEE为7+127=134,等于10000110 B;

尾数为01100100010000000000000 B;

合成后为

0 10000110 011 0010 0010 0000 0000 0000

重新分割:

0100 0011 0011 0010 0010 0000 0000 0000 

若将上述值表示为十六进制数,则为(43 32 20 00)16。

为实际指数127。

单精度浮点数极值情况规定,最大的非规约数实际指数为-126,有偏移指数为0,指数域为00000000;最大的规约数实际指数为127,有偏移指数为254,指数域为11111110。

使用所谓的偏正值形式表示,偏正值为实际的指数大小与一个固定值(64位的情况是1023)的和。如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。

扩展资料:

IEEE754标准的相关要求规定:

1、对于一个数,其二进制科学计数法表示下的指数的值,为指数的实际值;而根据IEEE 754标准对指数部分的编码的值,为浮点数表示法指数域的编码值。

2、指数偏差(表示法中的指数为实际指数减掉某个值)为 ,其中的e为存储指数的比特的长度。减掉一个值为指数必须是有号数才能表达很大或很小的数值,但是有号数通常的表示法——补码,将会使比较变得困难。

3、采用指数的实际值加上固定的偏移值的办法表示浮点数的指数,好处是可以用长度为e个比特的无符号整数来表示所有的指数取值,这使得两个浮点数的指数大小的比较更为容易,实际上可以按照字典序比较两个浮点表示的大小。

百度百科-IEEE754标准

关于IEEE 754格式是什么?的探讨就到这里,您是否还有其他想了解的内容?欢迎在评论区留言告诉我们,同时别忘了点击关注哦!

(7)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 睿思智能科技公司的头像
    睿思智能科技公司 2026年02月14日

    我是久冷局的签约作者“睿思智能科技公司”

  • 睿思智能科技公司
    睿思智能科技公司 2026年02月14日

    本文概览:近期IEEE 754格式是什么?成为网络焦点,我们通过专业视角对相关信息进行了梳理,期待这些内容能为您排忧解难。IEEE二进制浮点数算术标准(IEEE 754)是最广泛使用的浮...

  • 睿思智能科技公司
    用户021402 2026年02月14日

    文章不错《IEEE 754格式是什么-》内容很有帮助

联系我们:

邮件:久冷局@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信