我无法理解 MSDN 站点上的十六进制注释
在以下 MSDN 站点上:DDS 文件规范
dwFlags有一张桌子。dwFlags 是一个 DWORD(4 字节或 0x00000000)
问题:值(例如)0x800000 的十六进制注释让我感到困惑,我必须翻转(32 位中的哪一位)?
请“翻译”源的值列(只有 8 个值)
我无法理解 MSDN 站点上的十六进制注释
在以下 MSDN 站点上:DDS 文件规范
dwFlags有一张桌子。dwFlags 是一个 DWORD(4 字节或 0x00000000)
问题:值(例如)0x800000 的十六进制注释让我感到困惑,我必须翻转(32 位中的哪一位)?
请“翻译”源的值列(只有 8 个值)
0x800000
与二进制相同100000000000000000000000
。
1000 0000 0000 0000 0000 0000
^ ^ ... ^ ^ ^
23 20 ... 8 4 0 = bit position
所以它是第 23 位。
这dwFlags
是否意味着:
0x1 = 1
0x2 = 10
0x4 = 100
0x8 = 1000
0x1000 = 1000000000000
0x20000 = 100000000000000000
0x80000 = 10000000000000000000
0x800000 = 100000000000000000000000