Re: 請問關於 -= 這個算子。

看板java作者 (void * I = NULL;)時間20年前 (2004/07/29 05:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
yuwen 大的結果看起來好像沒差, 因為是真的沒差 ^^" disassembly 的結果: ldc 0 istore #7 L3:^M iload #7 ldc 1000000 if_icmpge L55 ldc 1000 istore #2 ldc 10 istore #3 ldc 100000 dup istore #6 dup istore #5 istore #4 iload #2 iload #3 imul istore #1 iload #4 iload #1 isub istore #4 iload #5 iload #1 isub istore #5 iload #6 iload #1 isub istore #6 iinc #7 by 1 goto L3 L55:^M return 不管用 z1 -= v 還是用 z1 = z1 - v 都是一樣的 但是如果是對常數做減法的話, 對第一個區域變數做運算 a -= 3; 跟 a = a - 3; 分別會變成 iinc #1 by -3 跟 iload #1 ldc 3 isub istore #1 應該會差很多 :) ※ 引述《yuwen.bbs@bbs.csie.mcu.edu.tw (陳慾戒~沒義氣~唉)》之銘言: : ※ 引述《Corroson@kkcity.com.tw (藍月楓鈴)》之銘言: : public class test : { : public static void main(String args[]){ : int v,k,s,z1,z2,z3,i; : for(i=0;i<1000000;i++){ : k = 1000; s = 10; z1 = z2 = z3 = 100000; : v = k * s; : z1 -= v; z2 -= v; z3 -= v; : } : } : } -- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/M/TW d- s:++(+) a--->-- C++$ ULB+>++ P++ L++ E---@ W+ N? o? K? w--(++) O-- !M V- PS-(--) PE- Y PGP- t+ 5? X R !tv b++ DI+ D+ G e h! !r z ------END GEEK CODE BLOCK------ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.20
文章代碼(AID): #1121f1su (java)
文章代碼(AID): #1121f1su (java)