C++-IBM面试题:估计一下,一台普通机器可以对i++执行多少次?

发布于 2016-11-27 18:01:55 字数 62 浏览 1221 评论 2

IBM面试题:估计一下,一台普通机器可以对i++执行多少次?
个人完全没有思路,发上来大家讨论一下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晨说ぺ晚安 2017-07-30 13:37:27

java语言,JVM在启动时,会被分配内存大小,当超出会有outofmemeryerror,那么我想执行多少次取决于被分配的大小。
我想c++也是这样的情况吧

虐人心 2017-07-11 00:19:23

因为i++可以无限执行下去,超出值的时候会自动变成最小的负数,所以没有什么停止的机制。那么电脑能够运行多久,就能够执行i++多久。
一台普通电脑的寿命大概是4年,CPU运行频率是2.5GHz,i++指令的执行需要3步,一步读取数据,一步进行++计算,一步写数据。由于该操作的指令不能进行并行执行,只有i写入之后才能读出i进行下一步的++运算,所以不能用到CPU的指令并行处理技术。于是可以执行

((4*365+1)*24*3600*2.5*(10^9)/3)

次指令。前面的

4*365+1

是天数,含闰年。

 2.5*(10^9)

代表CPU每秒钟执行多少次指令,因为每秒有

 2.5*(10^9)

个时钟周期,而每个时钟周期在不进行并行指令执行的时候只能执行1条代码。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文