float f=123.456
printf("%g",f)
答案为什么是123.456
g的意思不是按f或e输出吗?
按f的话是123.456001
按e的话是1.234560e+002
怎么都不是呢
C语言float f=123.456
g是会在%f和%e之间选择最短的一个形式输出,并且会省略那些无意义的0
为什么c语言中定义一个变量f=123.456,printf("%f",f)时结果是123.456001...
float float,浮动的。:D 人类社会使用十进制,所以输入,输出都是按十进制来的。而计算机中采用二进制,所以,你输入的数要转化为二进制存储。十进制表面上的123.456,用二进制远不能用23个二进制比特位的尾码精确存储,只能四舍五入的转化为二进制存储。当取出时就不能还原原本的十进制123.456,...
C语言中,float f=123.456与123.456是不相等的,请问为什么?
类型不一样,就不相等啊,前边你定义的是float,后边那个没说啊,可以是float,也可以是double或者字符,所以可能是不等的。
...f);输出结果是多少啊?f为float型,值为123.456,求解
10是宽度,那个小数点也算一个。printf("%10.4g\\n",f);这样的话,10是宽度,4是精度
c语言f=123.456 printf("%e,%10e,%10.2e,%.2e,%-10.2e",f,f,f,f,f...
第一,浮点类型小数位默认为6位,大多数编译器都是这么定了。第二,当字符实际宽度大于你指定的宽度时,以字符宽度为准。 (其他类型也一样)
c语言题,谢谢。 printf("%12f\\n",f); (f=123.456)
12f表示输出时的数据占12个字符宽度,由于没有指定小数点位数所以默认显示6位小数,即若是%f则显示123.456000,这个显示一共10位(包含小数点),与%12f要求的12位宽度还差2个字符宽度,就在前面添加两个空格 如果是%012f,则会显示00123.456000,即那两个空格用0来填充,而默认是用空格填充 ...
...输出结果是多少啊?求解.f为float型,值为123.456
float 默认是保留小数点后的6位 所以123.456 其实是123.456000 10位 因此 %12f 当值小于12位时 左边补空格补够12位 所以 要补两个空格 结果是 jj123.456000 而 printf("%12.3f\\n",f); 这样同时又约束了小数点后只保留3位 123.456 才会是123.456 输出结果才是 jjjjj123...
C语言浮点变量分类
float f = 123.456f; \/\/后面加个 f 类型 比特数 有效数字 数值范围 float 32 6-7 -3.4*10(-38)~3.4*10(38)double 64 15-16 -1.7*10(-308)~1.7*10(308)long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)简单来说,Float为单精度,内存中占4个字节,有效数位是...
C语言1234.456输出%010.2f类型为什么是0000123.46
因为小数位数只有2,所以后面的6是5进了一位变成了6,你可以把f改为123.454后面的4不能够像前进位,所以输出为123.45,相当于数学上的四舍五入
...确定的有效位数是7位么?为什么定义float 123.456,输出后是123.456001...
浮点数的范围是:2^(-32)到2^32-1 至于输出结果,C语言默认的是输出输出8位(包括整数部份,小数点,小数总价),你也可以设置输出其它位数的结果。32位说的是在内存中分配32 bit的空间来存储数据。