相关疑难解决方法(0)

解码十六进制数字的最快方法

我正在寻找获得十六进制ASCII字符的十进制值的最快方法,即保证出现在以下字符串中的一个(它可以是小写或大写,但没有空格):

0123456789ABCDEFabcdef
Run Code Online (Sandbox Code Playgroud)

到目前为止,我提出的最好的公式是:

char c = 'd';  // or any other hex character
int value = (((c & 0x1F) + 9) % 25;
Run Code Online (Sandbox Code Playgroud)

请注意,它是无分支的,但它确实包含昂贵的模运算.

我可以做得更好吗?

algorithm hex

3
推荐指数
2
解决办法
396
查看次数

标签 统计

algorithm ×1

hex ×1