Math 将错误状态代码中的字节标志转换为int
我对位掩码、位标志和其他“位”东西感到困惑。 我有一个错误代码列表,比如Math 将错误状态代码中的字节标志转换为int,math,binary,byte,flags,bitflags,Math,Binary,Byte,Flags,Bitflags,我对位掩码、位标志和其他“位”东西感到困惑。 我有一个错误代码列表,比如[1021041088000000080000000100000000x0008000,…]。它的一部分写入系统日志,如位标志,f.e.“67108864”(其中一部分不写入,并返回正常数字)。我需要匹配它们,但我找不到任何算法。我怎么能做到?可能它只用于“0x0008000”之类的代码?如果这是真的,如何定义这其中的哪一个 问题更深。我不理解字节标志。我知道标志通常用于布尔状态,但这里是记录的状态代码。例如,102是(11
[1021041088000000080000000100000000x0008000,…]
。它的一部分写入系统日志,如位标志,f.e.“67108864”(其中一部分不写入,并返回正常数字)。我需要匹配它们,但我找不到任何算法。我怎么能做到?可能它只用于“0x0008000”之类的代码?如果这是真的,如何定义这其中的哪一个
问题更深。我不理解字节标志。我知道标志通常用于布尔状态,但这里是记录的状态代码。例如,102是(1100110)2。该数字的字节标志为2+4+32+64。。。这就是我如何将int转换成二进制形式,它显然等于102。所以我很困惑
谢谢你的时间 你必须分开
- 编号错误/消息代码(通常值在某些范围内,如
或在某些范围内)-它们只指定发生的错误,此错误(如“未找到文件”)是完全限定的(至少消息创建者相信:)101、102、103…
- 包含一组标志的代码(通常用十六进制或二进制表示法编写,如果有的话)-它们为我们提供了详细信息,每一位都包含一条信息
list1=[102,8000000,0x0008000,…]
与代表部分代码的混合代码和标志列表进行比较-list2=[102,67108864,…]
(set(list1)!=set(list2)
)并使用python找出由bitflag表示的代码。