matlab里为何double型运算比int64型运算快很多

问题描述:

matlab里为何double型运算比int64型运算快很多
代码1:
tic
a = ones(1000,1000);b = 2*ones(1000,1000);
for kkkkkk=1:100
c = a.*b;
end
toc;tic
a = ones(1000,1000,'uint64');b = 2*ones(1000,1000,'uint64');
for kkkkkk=1:100
c = a.*b;
end
toc
结果是:
Elapsed time is 0.517186 seconds.
Elapsed time is 1.052175 seconds.
代码2:
tic
for kkkkkk=1:1000000
a = 1234*1e7;
end
toc;tic
a0 = uint64(1234);
for kkkkkk=1:1000000
a = a0*1e7;
end
toc
结果是:
Elapsed time is 0.004122 seconds.
Elapsed time is 5.845563 seconds.
这是怎么回事?
1个回答 分类:综合 2014-11-01

问题解答:

我来补答
我也不知道,不过猜想是不是因为 int64 在存储数据上花费了太多的时间?
 
 
展开全文阅读
剩余:2000
上一页:圆向量