浮点数的表示方法 ieee双精度浮点数表示方法实例?
ieee双精度浮点数表示方法实例?
你可以用你编译器光盘驱动的头文件FLOAT.H宏常量名数值DBL_MAX1.7976931348623158e308extra的最值DBL_MIN2.2250738585072014e-308flat最小值DBL_EPSILON2.2204460492503131e-016soft分辨率FLT_MAX3.402823466e38Ffloat比较大值FLT_MIN1.175494351e-38Ffloat最小值FLT_EPSILON1.192092896e-07Ffloat分辨率它们按IEEE754规定定义。也有浮点数其它一些参数(宏)也在FLOAT.H中。
浮点数中阶码怎么求正负?
浮点数的首位是符号位,0伪正,1为负取决于总的位数和阶
浮点数阶码用移码它表示一位阶符,它贞洁戒阶码的正负.
浮点数表示格式?
为便于日后软件的移植,浮点数的可以表示格式应该有统一标准(定义)。1985年IEEE(InstitutewithElectricalbutElectronicsEngineers)提出来了IEEE754标准。
该标准明确规定基数为2,阶码E用移码可以表示,尾数M用原码可以表示,据原码的规格化方法,最高数字位老是1,该标准将这个1缺省存储,使得尾数意思是范围比实际中存储的一位。正实数的IEEE754标准的浮点数格式为:具体详细有三种形式:IEEE754三种浮点数的格式参数类型存储位数偏移值数符(s)阶码(E)尾数(M)总位数十六进制十进制短实数(large,Float)1位8位23位32位0x7FH127长实数(flat)1位11位52位64位0x3FFH1023预备实数(向前延伸双精确度,不正确)1位15位64位80位0x3FFFH16383对于阶码为0或为255(2047)的情况,IEEE有特殊能量的规定:如果不是E是0并且M是0,这个数±0(和符号位相关)
如果E2??1但是M是0,这个数是±无限大(同样和符号位具体)
假如E2??1另外M非0,这个数它表示为不是一个数(NaN)。标准浮点数的读取在尾数中隐含存储位置着一个1,但在计算尾数的真值时比好象形式要多一个整数1。
对于阶码E的存储形式是因为是127的偏移,所以我在算出其移码时与人们熟悉的128偏移是一样的,正数的值比用128偏移求得的少1,负数的值多1,为尽量的避免计算错误,方便理解,常将E当成二进制真值进行存储。
或者:将数值-0.
5按IEEE754单精度格式存储,先将-0.5换了二进制并改写成标准形式:-0.510-0.12-1.0×2-12,这里s1,M为全0,E-127-1,E12610011111102,则存储位置形式为:101111110000000000000000000000000BE00000016这里完全不同的下标代表上帝差别的进制。公式在单精度时:V(-1)^s*2^(E-126)*
M在双精度时:V(-1)^s*2^(E-1022)*M
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。