问问题描述
答精选答案

浮点数可以表示-∞到+∞,这只是一种特殊情况,显然不是我们想要的数值范围。
以32位单精度浮点数为例,阶码E由8位表示,取值范围为0-255,去除0和255这两种特殊情况,那么指数e的取值范围就是1-127=-126到254-127=127。
(1)最大正数因此单精度浮点数最大正数值的符号位S=0,阶码E=254,指数e=254-127=127,尾数M=111 1111 1111 1111 1111 1111,其机器码为:0 11111110 111 1111 1111 1111 1111 1111。那么最大正数值:PosMax=(−1)S×1.M×2e=+(1.11111111111111111111111)×2127≈3.402823e+38。这是一个很大的数。
(2)最小正数最小正数符号位S=0,阶码E=1,指数e=1-127=-126,尾数M=0,其机器码为0 00000001 000 0000 0000 0000 0000 0000。那么最小正数为: PosMin=(1)S×1.M×2e=+(1.0)×2126≈1.175494e38。这是一个相当小的数。几乎可以近似等于0。当阶码E=0,指数为-127时,IEEE754就是这么规定1.0×2−127近似为0的,事实上,它并不等于0。
(3)最大负数最大负数符号位S=1,阶码E=1,指数e=1-127==-126,尾数M=0,机器码与最小正数的符号位相反,其他均相同,为:1 00000001 000 0000 0000 0000 0000 0000。最大负数等于: NegMax=(−1)S×1.M×2e=−(1.0)×2−126≈−1.175494e−38。
(4)最小负数符号位S=0,阶码E=254,指数e=254-127=127,尾数M=111 1111 1111 1111 1111 1111,其机器码为:1 11111110 111 1111 1111 1111 1111 1111。
本文来自作者[楚三户]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/xuelitisheng/202609/642926.html
评论列表(4条)
我是公众科技网的签约作者“楚三户”!
希望本篇文章《32位浮点数表示方法举例》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:浮点数可以表示-∞到+∞,这只是一种特殊情况,显然不是我们想要的数值范围。以32位单精度浮点数为例,阶码E由8位表示,取值范围为0-255,去除0和255这两种特殊情况,那么指数e的取值范围就是1-127=-126到254-127=127。(1)最大正数因此单精度浮点数最大正数值的符号位S=0,阶码E=254,指数e=254-127=127,尾数M=111 1111 1111 1111 1111 1111,其机器码为:0 11111110 111 1111 1111 1111 1111 1111。那么最大