为了账号安全,请及时绑定邮箱和手机立即绑定

为什么long double是错误的?

为什么定义long double weight=82.50000答案是错误的,long double 字节不该更大涵盖了double与float吗?

正在回答

2 回答

1、float 单精度浮点,8个点,也就是32位数据。
double 双精度浮点, 16个点,也就是64位数据。64个大小的东西往32个大小的位置放,肯定是放不下的,肯定就溢出了。

2、float,数据以32位二进制形式存入内存单元双精度型:double,数据以64位二进制形式存入内存单元当一个变量的值超过了变量所能表示的范围时,将产生溢出。一个变量只能赋给与之类型相匹配的变量。

1 回复 有任何疑惑可以回复我~

1.  long double输出时候要用lf修饰    printf("x=%lf\n",x);
  2.  float ,double ,long double默认输出都是小数点后6位,
       double 和long double 想要输出多的话,可以用格式符来输出
       printf("x=%.10lf\n",x);  这样就能输出小数点后10位。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么long double是错误的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信