[問題] 有關1到9的平方....

看板C_and_CPP (C/C++)作者 (lee)時間16年前 (2009/06/21 23:48), 編輯推噓4(405)
留言9則, 4人參與, 最新討論串1/1
最近初學C++ 看到這個程式我看了很久還是不懂 #include <iostream> #include <cstdlib> using namespace std ; int main() { int i=1,j=1 ; //迴圈初值 while (i<=10) { j+=j; //計算平方 cout << i << '\t' << j << endl ; i++; } system("pause"); return 0; } 計算出來結果 會是2各別次方的結果 最主要的是這行 j+=j; //計算平方 為什麼這行代表2的幾次方呢? 有人可以為我解惑嗎? -- ╱_◢███◣ ◢███◣ ∣ ∣ 1939 █████ 1940 ██1941▂ ▂ ∣ Bat man ▅◤◥▅ The flash Captain America ∣◤ ◥ ︹ ◢ DC★ ︹ ◢ DC★ ﹌ ◢ MARVEL -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.107.181 ※ 編輯: t113106 來自: 203.70.107.181 (06/21 23:49)

06/21 23:50, , 1F
你把程式碼編譯看看跑出來的結果會對嗎?
06/21 23:50, 1F

06/21 23:51, , 2F
j+=j只是把j乘兩倍吧
06/21 23:51, 2F

06/21 23:55, , 3F
恩 我編譯出來會變成 1 1 2 4 3 8
06/21 23:55, 3F

06/21 23:55, , 4F
4 16 5 32 6 64
06/21 23:55, 4F

06/21 23:56, , 5F
會變成1到10然後個別呈現2的次方 有人可以解惑媽
06/21 23:56, 5F

06/22 00:00, , 6F
當while每跑一次 j就乘以兩倍阿
06/22 00:00, 6F

06/22 00:02, , 7F
把上一次方*2 就是下一次方阿 2^n * 2 = 2^(n+1)
06/22 00:02, 7F

06/22 00:02, , 8F
每一圈都會把自己*2一遍
06/22 00:02, 8F

06/22 00:20, , 9F
x + x == 2 * x
06/22 00:20, 9F
文章代碼(AID): #1AFbPXRl (C_and_CPP)
文章代碼(AID): #1AFbPXRl (C_and_CPP)