xxsr.net
当前位置:首页 >> printF输出浮点数 >>

printF输出浮点数

举例: void main() { float x = (float)102.1; printf("%6.2f\n", x); printf("%6.2f%6.2f\n", x,x); printf("%9.2f%9.2f\n", x,x); printf("%-9.2f%-9.2f\n", x,x); printf("%09.2f\n", x); printf("%09.2f%09.2f\n", x,x); getchar(); } 结果...

exg: float Pi = 3.1415926; printf("%0.1f",Pi);

可以这样 printf("%x", *((int*)(&a))); 或者 union t{ int a; float f;};union t m;m.f=1.0;printf("%x", m.a);

c语言中用printf输出是区分单精度和双度的,如果你在函数定义时定义为双精度,最后用printf输出时既可以用printf("%lf",a);也可以用printf("%f",a)输出。用"lf”输出不了双精度可能是你定义时定义为单精度,那么可能不能用双精度输出。至于输出答...

使浮点数 d 保持 2 位小数输出: float d =3;printf("%.2f",d);

不是bug,因为浮点数是用2进制表示的,在小数位数后的十进制数十很难用2进制能够表示出来的,如0.1(10) 约= 0.0001100110...(2) (无限循环) 所以一般都会有误差

#include int main() { double a; scanf("%lf",&a); //要求输入双精度浮点数,即double型数据 printf("%f ",(float)a); //按照单精度浮点数输出,需要先将数据转换成单精度 printf("%0.5f ",(float)a); printf("%e ",a); //%e和%g可以直接使用do...

如果数量是个变量,那只能动态创建printf的格式字符串了,用sprintf #include int main() { double x = 1.23456789; char fmtstr[10]; int n; scanf("%d", &n); sprintf(fmtstr, "%%.%df", n); printf(fmtstr, x); return 0;}

亲爱的楼主,你好! int main(void) { float f = 12.5f; double d = 12.5; int * df = (int *)&d; printf("这是12.5的IEEE754短浮点数表示法:%p,\n这是12.5的IEEE754长浮点数表示法:%p%p",f,*(df+1),*df); return 0; }

不是编译器的问题。pow()返回值类型是double的。对double/float类型数据输出格式用“%d”,就是会得到奇怪的值. 为了避免这种情况,可以加上类型转换: printf("%d", pow(10,2)) -----> 输出为0 printf("%d", (int)pow(10,2)) ----> 输出为100 ...

网站首页 | 网站地图
All rights reserved Powered by www.xxsr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com