[問題] 關於 if 的判斷式 否定敘述 較有效率 之說
印象中曾經聽說過
對電腦來說
否定敘述 的判斷 會比 正向敘述 來得有效率
想請問這麼說的原因是什麼呢???
ex1.
if(n%2){ .... }
if(!(n%2)){ .... }
ex2.
if(k==0){ xxxx } else{ yyyy }
if(k!=0){ yyyy } else{ xxxx }
是否都是下面那個有效率呢???
在兩個例子中, 感覺下面的寫法都多了個否定的運算, 為什麼還會比較快呢???
因為剛剛在嘗試 3n+1 problem 加速的部份
爬了一些文章
也看了某些大大的 code (當然有 bleed大XD)
看到判斷的地方都是用否定敘述
所以想了解電腦內部是否對否定敘述有特別的處理方式
謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.85.2
推
09/01 16:31, , 1F
09/01 16:31, 1F
→
09/01 16:32, , 2F
09/01 16:32, 2F
→
09/01 16:32, , 3F
09/01 16:32, 3F
推
09/01 16:34, , 4F
09/01 16:34, 4F
→
09/01 16:37, , 5F
09/01 16:37, 5F
推
09/01 16:46, , 6F
09/01 16:46, 6F
→
09/01 16:46, , 7F
09/01 16:46, 7F
→
09/01 17:04, , 8F
09/01 17:04, 8F
→
09/01 17:04, , 9F
09/01 17:04, 9F
→
09/01 17:05, , 10F
09/01 17:05, 10F
推
09/01 17:05, , 11F
09/01 17:05, 11F
→
09/01 17:06, , 12F
09/01 17:06, 12F
→
09/01 17:06, , 13F
09/01 17:06, 13F
→
09/01 17:07, , 14F
09/01 17:07, 14F
→
09/01 17:08, , 15F
09/01 17:08, 15F
推
09/01 17:09, , 16F
09/01 17:09, 16F
→
09/01 17:20, , 17F
09/01 17:20, 17F
→
09/01 17:21, , 18F
09/01 17:21, 18F
推
09/01 17:30, , 19F
09/01 17:30, 19F
推
09/01 17:52, , 20F
09/01 17:52, 20F
→
09/01 18:30, , 21F
09/01 18:30, 21F
→
09/01 18:47, , 22F
09/01 18:47, 22F
→
09/01 19:04, , 23F
09/01 19:04, 23F
→
09/01 19:22, , 24F
09/01 19:22, 24F
→
09/01 19:39, , 25F
09/01 19:39, 25F
推
09/01 19:47, , 26F
09/01 19:47, 26F
→
09/01 19:47, , 27F
09/01 19:47, 27F
→
09/01 19:50, , 28F
09/01 19:50, 28F
推
09/09 00:20, , 29F
09/09 00:20, 29F