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

作者: kingzero (一起迷路)   2014-07-15 14:22:58
※ 引述《liptonbin (我還存在耶)》之銘言:
: 請教一下
: 我有個變數是16進位的
: 例如
: DWORD var = 0x10;
: 我想把他變成10進位,但不要按造16進位轉10進位轉過去 即變成0x10=>16
: 而是想變成10
: 即var = 10
: 或
: DWORD var = 0x24;(十六進位)
: 變成var = 24(十進位)
: 請問有什麼好方法嗎
: 謝謝
看到這一個忍不住回一下
char var[2];
var[0]= var & 0x0f;
var[1]= var >>4;
打完收工~~
作者: CCWck (幹嘛要暱稱)   2014-07-15 20:02:00
看不懂...
作者: kerwinhui (kezza)   2014-07-15 20:17:00
應該還要 + 0x30 吧?
作者: yuben75 (我想飛)   2014-07-15 22:29:00
Dec = (( var/16 ) << 4 ) + ( var % 16);
作者: CCWck (幹嘛要暱稱)   2014-07-15 23:49:00
樓上我看的懂 就是除16後商數和餘數的關係 但原PO的我不懂
作者: uranusjr (←這人是超級笨蛋)   2014-07-15 23:54:00
& 0xf 和 % 16 對等, >> 4 等同於 / 16
作者: hydefate (Raiden)   2014-07-16 23:41:00
Var[0]個位 Var[1]十位
作者: EdisonX (卡卡獸)   2014-07-17 00:13:00
不過這例用 char Var[2] 還蠻不準的.0x10 只有用到 Var[0]

Links booklink

Contact Us: admin [ a t ] ucptt.com