[問題] 請問16進位轉十進位,值不要真的轉過去

看板C_and_CPP作者 (我還存在耶)時間11年前 (2014/07/15 13:38), 11年前編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/2 (看更多)
請教一下 我有個變數是16進位的 例如 DWORD var = 0x10; 我想把他變成10進位,但不要按造16進位轉10進位轉過去 即變成0x10=>16 而是想變成10 即var = 10 或 DWORD var = 0x24;(十六進位) 變成var = 24(十進位) 請問有什麼好方法嗎 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.137.187 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1405402719.A.945.html ※ 編輯: liptonbin (125.227.137.187), 07/15/2014 13:40:10

07/15 13:57, , 1F
轉字串再轉回去
07/15 13:57, 1F

07/15 15:18, , 2F

07/15 15:23, , 3F
很單純的 16 進位轉成 10 進位
07/15 15:23, 3F

07/15 17:49, , 4F
遇到非數字怎麼轉換? 還是轉字串? 例如0xff轉成ff?
07/15 17:49, 4F

07/15 19:01, , 5F
存在記憶體裡的數字從來就沒有 16 進位或 10 進位之分
07/15 19:01, 5F

07/15 19:01, , 6F
我指的是你寫 var = 0x10 它的值就是 16
07/15 19:01, 6F

07/15 19:02, , 7F
所以你想要的就是把一個是 16 的值印出 10 來
07/15 19:02, 7F

07/15 19:02, , 8F
或者後一個例子就是將一個是 36 的值寫出 24 來
07/15 19:02, 8F

07/15 19:03, , 9F
咦等等, 我突然發現你想做什麼了...這該不會是 BCD 轉換?
07/15 19:03, 9F

07/15 19:06, , 10F
那不要理我這幾行@@ 上面的就可以了
07/15 19:06, 10F
文章代碼(AID): #1JnBvVb5 (C_and_CPP)
文章代碼(AID): #1JnBvVb5 (C_and_CPP)