C语言中0.5f代表啥,和0.5F有区别么?
f指float型,c中的实数默认为double,除非后面跟着f的才指float。若把它赋给一个float型变量则会有精度损失的编译警告提示,0.5f的意思是告诉编译器将这个0.5按float型处理。这里的0.5f和0.5F没有区别。例如0xa5、0Xa5、0xA5、0XA5完全相同。
扩展资料:
单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
双精度型,正如它的关键字“double ”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。
关于C语言中单精度浮点数的输出
1.记住是6位有效数字,不是小数点后6位.
2.float如果转成double的话,有效位数肯定就是15位了.printf时,系统是根据你用的是%f还是%lf来自动把后面的参数转换成float或double的,和f前面加的数字大小没关系.如果你f2是double型,但前面用的是%f,那么printf就会隐含地把f2的值转成float的输出.
C语言单精度浮点型的输出
程序在处理浮点数精度的问题过程中,由于浮点数在内存里是按2进制存储的。它的有效数值在小数点后的6-7位,输出过程中会有偏差,所以一般来说输出浮点数都要指定精度,比如:
printf(“%.3f\n”,g);
在%f前面加.3表示小数点后保留3位,同样%2.3f可以在整数位保留2位的同时小数也保留3位。