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

关于使用C遍历大数字?

关于使用C遍历大数字?

C
慕后森 2018-07-06 18:02:38
请帮忙写一个简单的C程序,我用来简单的测试下JS、python、C的性能。js代码var x = 10000000000var n = 0;for(var i = 0; i < x; i++){    n+=i }console.log(n)console.log('ok')写出这个遍历逻辑的C类语言,谢谢。只是简单的把玩,不可较真,我写的C语言,它会报出溢出错误。#include <stdio.h>int x = 10000000000;int n = 0;int main() {    for(int i = 0; i<x; i++) n = n+i;    printf("%d" ,n);    printf("%s" ,": ok"); }
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

那把 x n 和 i 的声明都换成 double

但这样做最后的结果可能会和真实结果有误差


查看完整回答
反对 回复 2018-07-21
?
临摹微笑

TA贡献1982条经验 获得超2个赞

1+2+3+。。。+10000000000,这个算式的结果是5.0000000005E+19,太大了,已经超了int型的范围了。
如果只是测加法的时间,推荐用循环嵌套,类似这样

for (int i = 0; i < 1000000; i++) {
    n = 0;
    for (int j = 0; j < 10000; j++) {
        n += j;
    }
}


查看完整回答
反对 回复 2018-07-21
  • 2 回答
  • 0 关注
  • 791 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信