作者Dannvix (Dannvix)
看板C_and_CPP
標題Re: [問題] 八進制轉十進制
時間Sat Jun 5 12:43:52 2010
※ 引述《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