为什么long double是错误的?

来源:2-4 基本数据类型

Mr匹诺曹s

2016-11-03 12:00

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

写回答 关注

2回答

  • qq_梦想的天空分外蓝_04249602
    2016-11-03 13:29:00
    已采纳

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

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

  • qq_梦想的天空分外蓝_04249602
    2016-11-03 13:26:44

    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语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题