看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《saka037 (蝙輻超人)》之銘言: : 感謝回覆~~不過倒不是*p-'0'這部份看不懂 : 而是假使我輸入的是八進制的12,那麼*p不是先指到 「1」嗎??然後左移一位??? : 另外這樣要怎麼達成相乘8的1次方、2次方、3次方的效果呢??? : 可能我的觀念有問題~再請不吝指教了~感恩~ ------------------------------------------------------ 假設你輸入 123,來看一下程式進行的時候 *p == '1' 做完 => n == 0 * 8 + 1 *p == '2' 做完 => n == (0 * 8 + 1) * 8 + 2 *p == '3' 做完 => n == ((0 * 8 + 1) * 8 + 2) * 8 + 3 整個做完之後 n == 0 * 8^3 + 1 * 8^2 + 2 * 8 + 3 == 83 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.227.83.223 ※ 編輯: Dannvix 來自: 125.227.83.223 (06/05 12:48)
diabloevagto:解釋得很清楚喔,最左邊的就是最先放入N的 06/05 13:28
diabloevagto:也就是會*8最多次的。 06/05 13:28
saka037:喔~~懂了~我都直接乘開,難怪看不出奧義~~感謝指教 06/05 13:59
saka037:不過~寫程式還真是難啊~不只要會推理還要會數學啊~唉... 06/05 14:00
COLDTURNIP:程式碼本身可視為數學的延伸 06/05 16:17