c语言问题,输出的float数据不对
include int main(){ float sum,temp; printf("Input your number\\n"); scanf("%f",&sum); printf("%.二f\\n",sum);\/\/计算机存储浮点数采用二进制科计数存储绝部数能完全转换二进制浮点型数据计算机近似数约束数点位数看与我输入数据差异改善办、用double,二、输控制数点位数 return 0;
C语言 float型数值错误?
这是因为计算机无法精确表示浮点数,将%f改成%.2f可以输出2位小数。
C语言float类型储存和printf输出问题
原因就是,你使用了lf输出,其实是将float x转换为一个double输出了。相当于 double y = x;,然后输出y,这样后面的数值其实是因为一个4位浮点数给8位浮点数赋值的时候,将x的真实存储以double的精度显示出来了。具体的说,这涉及float的二进制保存方式,如果你有兴趣,可以看看基础语法书上关于float...
C语言为什么当输出一个固定float型时输出的数字变了,就是float a=666.6...
因为%f,也就是float型变量的精度就是小数点后六位,你指定按照%f格式输出,当然会变。可以尝试%nf,n为数据宽度。
C语言问题 把 INT类型 换成float 就 结果不对 为什么啊
{ float a; \/*变量a定义为 单精度浮点型(float)*\/ a =50 % 23; \/*求的是50比23的模,模为4,4为整形(int),显然与变量a的类型不 符,导致编译错误*\/ printf("a = %d\\n", a); \/*%d为整形数据输出符,%f为浮点型输出*\/ return 0;} 解决方法:把%d改为%f ...
C语言里面float数据用printf(“%d”)输出的问题
1、首先在电脑中打开C-Free 5编译器(界面) -> 文件 -> 新建(Ctrl+N)。2、然后输入下图所示代码。3、编译成功后的截图。如果编译失败,请检查语法或者编译器是否有问题。4、程序运行截图(开始和结束)。使用了<\\b>之后没有system("cls");那么闪烁。system("cls");会清空屏幕上所有的信息。...
C语言里用浮点型来表示0.1999999,但是输出却是0.200000,小数位数不...
浮点数默认的输出是6位小数,如果你想输出这个,你可以设置输出的小数点位数 输出用%.7f 这样可以输出你需要的结果。后面要输出几位你就改成几,小数点前面也可以加整数,表示输出的整数占几位。
c语言程序,请问为什么我用float时会出现误差
这个,怎么说呢,首先你看下这句a=1\/6,你要明白,c并不把1\/6当成一个数值进行处理,这只是一个运算式,也就是说,c要先用1去除6,得到一个数值0.166667,然后,c强制将其转化为整型(1和6都是整型,c会进行默认强制转换为整型),得到0,然后将0再赋给a,转化为float型,于是就得到0.0000...
求问C语言写一个float函数,其返回值和在函数内数值不同,是怎么回事
可能是语法不规范,导致的编译器的问题。函数原型最好提前声明,特别是float强制转换成double的情况。编译通过的代码贴在了Ubuntu pastebin中:链接 图片预览:你可以通过这个网站在线验证一下:链接
c语言1加到10000,用float型存储结果为什么会出错?
很详细。或者百度一下 浮点数在计算机中的存储。浮点数和整数相加时,编译器会把整型转换为浮点型数据进行加减,并且计算机内部采用二进制指数形式对数据进行存储, 在运算的时候存在截断误差.一般情况下,C中的浮点数常量为double类型,只是将double类型的转换成float的类型,那就已经发生了精度损失。然后是...