【发布时间】:2012-03-06 01:09:06
【问题描述】:
阅读或编写 C 代码时,我经常难以将数字从二进制转换为十六进制表示并返回。通常,像0xAAAA5555 这样的不同掩码在低级编程中经常使用,但是很难识别它们所代表的特殊位模式。有没有什么容易记住的规则,如何在头脑中快速做到这一点?
【问题讨论】:
-
除了 0 和 F 很简单,你必须知道位。矿石使用 windows calc :)
-
这些低级常量将非常依赖于上下文,因此唯一可能的方法是开发您对该上下文的体验。
-
在便利贴上写下换算表,然后贴在显示器斜面上。 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, ..., F=1111。当便利贴胶粘剂出现时,您可能已经记住了它们或转移到另一个项目。最常用于掩码的“数字”是具有单个位或一组相邻位的数字。一位:1、2、4、8;两位:3、6、C;三位:7,E;四:F。我仍然有时需要考虑的是位之间有间隙的那些:5、9、A、B、D。
标签: c math bit-manipulation representation