Mr匹诺曹s
2016-11-03 12:00
为什么定义long double weight=82.50000答案是错误的,long double 字节不该更大涵盖了double与float吗?
1、float 单精度浮点,8个点,也就是32位数据。
double 双精度浮点, 16个点,也就是64位数据。64个大小的东西往32个大小的位置放,肯定是放不下的,肯定就溢出了。
2、float,数据以32位二进制形式存入内存单元双精度型:double,数据以64位二进制形式存入内存单元当一个变量的值超过了变量所能表示的范围时,将产生溢出。一个变量只能赋给与之类型相匹配的变量。
1. long double输出时候要用lf修饰 printf("x=%lf\n",x);
2. float ,double ,long double默认输出都是小数点后6位,
double 和long double 想要输出多的话,可以用格式符来输出
printf("x=%.10lf\n",x); 这样就能输出小数点后10位。
C语言入门
926021 学习 · 20793 问题
相似问题