C语言中float型数据表示的最大数字到底是多少啊?
我查了下资料,说C语言中对float型数据的存储,采用IEEE754的标准。第一位是符号位,接下来8位是指数位,最后23位是指数位,包含一个隐含的1.那么float的最大...
我查了下资料,说C语言中对float型数据的存储,采用 IEEE 754 的标准。第一位是符号位,接下来8位是指数位,最后23位是指数位,包含一个隐含的1.
那么float的最大数字就应该是 1.1...(小数部分23个1)*2^127=2^104*(2^24 -1)约等于3.4E+38 和谭浩强课本上的是一样的。
可是我查过资料,有的说是float最大的数2^128,还有的说是2^104*(2^23 -1 ),它们也约等于3.4E+38啊……到底哪个是正确的啊?同时,有的资料还说8位的指数范围是-127~128。可是我觉得应该是-128~127…这到底是怎么回事…还请高人不吝赐教! 展开
那么float的最大数字就应该是 1.1...(小数部分23个1)*2^127=2^104*(2^24 -1)约等于3.4E+38 和谭浩强课本上的是一样的。
可是我查过资料,有的说是float最大的数2^128,还有的说是2^104*(2^23 -1 ),它们也约等于3.4E+38啊……到底哪个是正确的啊?同时,有的资料还说8位的指数范围是-127~128。可是我觉得应该是-128~127…这到底是怎么回事…还请高人不吝赐教! 展开
6个回答
展开全部
C语言中float型数据表示的最大数字为3.402823E38。
FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
扩展资料:
FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。
展开全部
float类型所能表示的最大数字为3.4*10^38,即3.4E38。
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。
定义格式为:
float a; // a表示一个浮点型的变量
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。
定义格式为:
float a; // a表示一个浮点型的变量
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看<深入理解计算机系统>第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看<深入理解计算机系统>第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看<深入理解计算机系统>第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看<深入理解计算机系统>第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们的老谭的C教材上说float型数据的范围是-3.4×10的-38次方至3.4×26位尾数中有一个符号位也就是最大的数是+/-(2^25-1)*(+/-2^5-1,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询