其奈公何 发表于 2021-10-25 12:01:23

求dalao告诉我DEV这里该怎么扩充我的运算量

#include <stdio.h>
#include <math.h>

int main()
{
      double result;
      
      result = pow(2,64);
      
    printf("结果是%.0lf\n",result);
      
      return 0;
}

用DEV算出来是18446744073709552000,裂开{:10_247:}
大佬告诉我改怎么办,用long 算出来结果是2147483647,用long long算出来结果是 -1为什么会这样{:10_266:}

傻眼貓咪 发表于 2021-10-25 13:01:04

正确结果是 18446744073709551616(差 384),不同电脑不同内存大小,可能你的 double 精度最多只能算出这个答案,至於 long long 是 -1 是因为已经越界了(long long 最大是 9223372036854775807,而答案多一倍大,所以越界,目前最大可以显示的是 double)

其奈公何 发表于 2021-10-25 13:17:04

傻眼貓咪 发表于 2021-10-25 13:01
正确结果是 18446744073709551616(差 384),不同电脑不同内存大小,可能你的 double 精度最多只能算出这 ...

懂了{:10_257:}原来如此
页: [1]
查看完整版本: 求dalao告诉我DEV这里该怎么扩充我的运算量