找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4850|回复: 16

+= 和 a = a + 1 还是不一样的嘛 ^_^

[复制链接]
发表于 2008-2-17 09:54:19 | 显示全部楼层 |阅读模式
b = 0
a = Time.now
for i in 0...200000
   b += 1
end
p Time.now - a


b = 0
a = Time.now
for i in 0...200000
   b = b + 1
end
p Time.now - a

结果不一样啊。。。。


b = 0
a = Time.now
for i in 0...200000
   b -= 1
end
p Time.now - a


b = 0
a = Time.now
for i in 0...200000
   b = b -1
end
p Time.now - a

结果就差不多阿。。。。。

这样子。是怎么个样子
发表于 2008-2-19 15:32:17 | 显示全部楼层
  我完全看不懂你要写点什么

那个循环拿来干啥的
发表于 2008-2-19 16:42:48 | 显示全部楼层
楼主太逗了,你这个程序显示的是电脑给你计算完毕20万次加法所花费的时间是多少,肯定每次都不一样啊。就算是电脑也不可能每次计算20万次都用一样的时间,一秒不差啊
 楼主| 发表于 2008-2-22 10:20:07 | 显示全部楼层
你完全可以试试时间到底一不一样在发言阿

出来调节气氛也要选对方法把
 楼主| 发表于 2008-2-22 10:21:15 | 显示全部楼层
我的意思是 += 和 b= b+1 计算的时间不一样

而且。。中间有没有空格。。时间也会不一样
发表于 2008-2-24 19:13:15 | 显示全部楼层
加法自运算和标准加法....本来就应该一样不是?
 楼主| 发表于 2008-2-24 21:35:39 | 显示全部楼层
我有疑问就是怎么时间不一样呢?
发表于 2008-2-26 03:01:36 | 显示全部楼层
CPU使用的运算指令不一样,所以执行效率是不一样的,
发表于 2008-3-12 21:33:21 | 显示全部楼层
a+=1   编译后的汇编指令  add
a++     编译后的汇编指令  inc
inc 的运算周期 小于 add 所以 a++ 比 a+=1 快

如果楼主有疑问可以学学汇编语言.. 这样你的编码水平会大增..
发表于 2008-4-8 01:04:27 | 显示全部楼层
明年就去学汇编的人飘过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-10-31 21:03 , Processed in 0.011469 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表