float属性值正确的有,C语言中float书上写的取值范围是?
科学计数法,E-38就是10的-38次方,E+38就是10的38次方 简单点的,1.2e-6就是0.0000012,即小数点需要往左移动6位1.2e6或1.2e+6就是1200000,即小数点需要往右移动6位。
float表示范围?
float表示数据范围是“-3.4E+38 ~ 3.4E+38”。
FLOAT数据类型用于存储单精度浮点数或双精度浮点数;浮点数使用 IEEE格式。浮点类型的单精度值具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。
Float:比特数为32,有效数字为6-7,数值范围为 -3.4E+38 ~ 3.4E+38
Double:比特数为64,有效数字为15-16,数值范围为-1.7E-308~1.7E+308
可根据应用程序的需求将浮点变量声明为 float 或 double。这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。
扩展资料
浮点型的两种类型
1、单精度浮点型(float)
单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
例如,当表示美元和分时,单精度浮点型是有用的。
这是一些声明单精度浮点型变量的例子:float hightemp,lowtemp;
2、双精度型(double )浮点型
双精度型,正如它的关键字“double ”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。
所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
2进制float型数据有几位有效数字?
float的有效位数是7位或8位
取值范围主要看指数部分:
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128。
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。
由于float的指数部分对应的指数范围为-128~128,所以取值范围为:
-2^128到2^128,约等于-3.4E38 — +3.4E38
精度(有效数字)主要看尾数位:
float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8位
哪种情况下用double?
1.float实际上能满足所有浮点数需求.
2.问题出现在float乘以float 再除个什么玩意..中间需要double存中间值...要不容易算错...
3.同理double乘以double也能溢出...所以有个
long double存中间值...
4.正常来说.应该只用float...
5.如果float精度出问题了...要考虑使用定点数...而不是double...那不是解决问题的方法...