前言:
此时各位老铁们对“二进制指数算法”可能比较看重,看官们都想要知道一些“二进制指数算法”的相关内容。那么小编也在网上汇集了一些有关“二进制指数算法””的相关文章,希望各位老铁们能喜欢,各位老铁们快快来了解一下吧!IEEE 754标准定义了在计算机系统中,用二进制表示浮点数的标准。
sign 为符号位 exponent 为指数位(以2为底) fraction为分数部分
Value=sign*exponent*fraction
一、IEEE 754的前世今生
在IEEE 754出现前,各家计算机公司自己使用自己的数值表示标准,当时在移植代码时非常困难。1976年,Intel为8086微处理器引入浮点协处理器时意识到,硬件工程师并不善于数值的定义。于是,Intel找到当时最优秀的数值专家--加州大学伯克利分校的 William Kahan 教授,Kahan教授又找了Coonan和Stone协助,共同完成了Intel浮点数格式设计。
IEEE(Institute of Electrical and Electronics Engineers)认识到Intel的浮点表示方案的优秀,决定采用类似Intel的方案作为 IEEE 的标准浮点格式。1985 年推出了二进制浮点运算标准 IEEE 754(IEEE Standard for Binary Floating-Point Arithmetic,ANSI/IEEE Std 754-1985),该标准限定指数的底为 2,并于同年成为 ANSI 标准。目前,几乎所有的计算机都支持 IEEE 754 标准,它大大地改善了科学应用程序的可移植性。
IEEE后来又推出了与底数无关的二进制浮点运算标准--- IEEE 854。1987年,被美国引用为 ANSI 标准。1989 年,国际标准组织 IEC 批准 IEEE 754/854 为国际标准 IEC 559:1989。修订后,标准号改为 IEC 60559。目前,几乎所有的浮点处理器完全或基本支持 IEC 60559。
二、IEEE 754定义
IEEE 754定义了四种浮点数值的方式:
单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用)与延伸双精确度(79比特以上,通常以80位实现)。只有32位模式有强制要求,其他都是选择性的。大部分编程语言都有提供IEEE浮点数格式与算术,但有些将其列为非必需的。
IEEE 标准除定义了表示格式,还定义了以下特殊值:±0、反向规格化的数、±∞ 和 NaN。
十进制转换为二进制实例 (59.25)
整数部分:59 ➗ 2 =29 -----129 ➗ 2 =14 -----114 ➗ 2 =7 -----07 ➗ 2 =3 -----13 ➗ 2 =1 -----11 ➗ 2 =0 -----1小数部分:0.25 x 2=0.5 ------00.5 x 2=1 ------1按位表示(x86的字节序):59.25------>111011.01
二进制转十进制 (111011.01)
1-->1*2*2*2*2*2-->321-->1*2*2*2*2---->161-->1*2*2*2------->80-->0*2*2---------->01-->1*2------------>21-->1--------------->1 .0-->0*2的-1次方---->01-->1*2的-2次方---->0.25将值求和:111011.01---->59.25
标签: #二进制指数算法 #二进制计算法则的算法图解 #kahan算法 #二进制算法的公式 #二进制算法的公式是