从十六进制中获取适当的值
本文关键字:获取 十六进制 | 更新日期: 2023-09-27 18:20:56
假设我必须在下表中列出值(第一行是描述)
描述->十进制值->位数
选项1->1->1
选项2->2->2
选项3->4->3
选项4->8->4
OptionX -> 137438953472 -> 38
现在我有以下值:0x7000000800000。我如何识别,根据这个数字选择了哪些选项?
ulong v = 0x7000000800000000;
for( int i = 1; v != 0; ++i ) {
if ((v & 1) != 0) Console.WriteLine(i);
v >>= 1;
}
或者使用CCD_ 1类。
使用位AND运算符&
,也可能使用位移位运算符<<
(向左移位)和>>
(向右移位)。
例如,如果(options & (1 << (n - 1))) != 0
为true,则选择了选项n
。