首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C中为双倍分配大量数字

在C中为双倍分配大量数字
EN

Stack Overflow用户
提问于 2017-11-07 00:34:31
回答 1查看 438关注 0票数 1

当我试图为一个double变量分配一个大的数字时,我会收到以下警告

sqrt.c:8:11:警告:整数常数对其类型来说太大了 双x=28462391747582051264412870770688;

代码语言:javascript
复制
#include <stdio.h>
#include <math.h>
#include <limits.h>
#include <float.h>

int main() {
        printf("MAX_DBL=%.53f\n",DBL_MAX);
        double x=28462391747582051264412870770688; 
}

然而,MAX_DBL比我试图分配的数字要大。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-07 00:45:22

代码语言:javascript
复制
double x=28462391747582051264412870770688;

数字文字的类型不是double,而是int。这个数字对于int来说太大了。

如果使用double文字:

代码语言:javascript
复制
double x=28462391747582051264412870770688.0;

警告消失,但如果需要,该数字将舍入到下一个可表示的double。(这里的这个特定数字是可表示的,as @chux noticed。)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47148130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档