#author("2024-07-03T03:56:09+09:00","","")
[[アルゴリズム]]

*16 進数 [#y70a5fcf]

 int fromHexChar(char c)
 {
   char upper = c & 0x40;
   char lower = c & 0x0F;
   retrn (upper >> 3) | (lower + (upper >> 6));
 }


* 備考 [#ofc50381]
 // 0x30: '0'    0b 0011 0000  --> 0000 0000
 //  :
 // 0x39: '9'    0b 0011 0101  --> 0000 1001
0-9 は, 上位 bit をなくせばよい。  
 
 // 0x41: 'A'    0b 0100 0001  --> 0000 1010
 // 0x61: 'a'    0b 0101 0001  --> 0000 1010
A-F, a-f の下位 bit は同じ。
上位 bit を見ると、 0#00 の # 部分が 1で、0-9はこのビットが 0
→ このビットをうまいこと使って調整している。

トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS