阅读或编写 C 代码时,我经常难以将数字从二进制转换为十六进制表示并返回。通常,像 0xAAAA5555
这样的不同掩码在低级编程中经常使用,但很难识别它们所代表的特殊位模式。有没有什么简单易记的规则,如何在脑海中快速完成?
最佳答案
每个十六进制数字正好映射到 4 位上,我通常会记住这些位中的每一位的 8421 权重,因此即使是在脑海中进行转换也很容易,即
A = 10 = 8+2 = 1010 ... 5 = 4+1 = 0101
只需记住 8-4-2-1 权重即可。
A 5
8+4+2+1 8+4+2+1
1 0 1 0 0 1 0 1
关于C - 二进制和十六进制表示之间的快速转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280733/