Я пишу синтаксический анализатор строк, и мне пришла в голову мысль, что могут быть некоторые действительно интересные способы преобразования шестнадцатеричного символа ASCII [0-9A-Fa-f]
в его числовое значение.
Какие самые быстрые, самые короткие,самые элегантные или самые неясные способы преобразования [0-9A-Fa-f]
в его значение между 0
и 15
?
Предположим, что символ является действительным шестнадцатеричным символом.
У меня нет шансов, поэтому я попробую самое скучное.
( c <= '9' ) ? ( c - '0' ) : ( (c | '\x60') - 'a' + 10 )