看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《paulyanzi (消失)》之銘言: : 1. : 日前看過一個 16 進位轉 10 進位的方式 : 但是不太理解為什麼這樣可以 : 不知道有人可以幫忙解釋嗎? : num = 16 * num + (*str) - '0'; : str++; : 最後每一個字元跑完 num 就是十進位的答案 : 十進位似乎也可以這樣算 但是不太懂原理 除非它是特別的 16 進位 不然就是寫的人寫錯了 因為 16 進位有 A~F 的字母 它沒有處理 (該不會你只是單純把 10 改成 16 吧?) 如果那是 10 的話 這才是對的 原理...你想一下從數字 432 加上一位 1 變成數字 4321 是怎麼變的就是了 : 2. : 如果 function(char *str) 傳入的是要轉換的字 : str 取得的是 4321 : 如果今天要取得第一個字元的數值是否有直接取得的方式? : 而不用 (*str) - '0' 這樣用ASCII的方式去做? : 謝謝 呃... (*str)-'0' 叫做間接? 對電腦來說 '4' 其實就是一個值是 52 的數字 '0' 其實也就是一個值是 48 的數字 所以對電腦來說 從 '4' 變成 4 再也沒有比從 52 減去 48 更直接的方法了.... 電腦並不是在執行那段程式時才把 '4' 變成 52 (該說正確來說當你的程式裡看到 '4' 時它已經是 52 了) 所以沒有什麼間不間接的問題 -- いああオレたちには見えてるモノがあるbきっと誰にも奪われないモノがあるはずさ開口一番一虚一実跳梁跋扈形影相弔yL羊頭狗肉東奔西走国士無双南柯之夢 歪も ぶ  意味がないと思えるコトがあるPきっとでも意図はそこに必ずある んの く 依依恋恋空前絶後疾風怒濤有無相生H急転直下物情騷然愚者一得相思相愛 だが ろ 無意味じゃない6あの意図 恋た で 有為転変死生有命蒼天已死黄天當立 !!6五里霧中解散宣言千錯万綜則天去私 のり -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.133
diabloevagto:只要是字串都是用ACICII CODE,要去對照表 09/27 13:31
loveme00835: ASCII 09/27 13:38
stupid0319:Integer.parseInt(String s, int radix); 09/27 13:44
nowar100:在 C/C++ 版推 Java 的 API! XD 09/27 13:45
xatier: ^^^^^^^^^^^^^^^^^^^^^^^^ 我笑了 XD 09/27 18:05