#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 → このビットをうまいこと使って調整している。