Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有ulong号码。我需要能够快速设置和重置单个位。例如:
ulong
15是1111。通过设置第 5 位我会得到47,所以101111
我想出了如何设置:
ulong a = 15; a |= 1 << 5; // so, now a=47
但我正在努力如何将其重置回 0。我正在尝试:
a &= ~(1 << 5);
它不起作用,因为我不能在变量上使用&运算符。ulong
&
解决方法是什么?我需要这个操作尽可能快。
我不能在ulong变量上使用 & 运算符。
那是因为1签了。U使用后缀使其无符号可解决问题:
1
U
a &= ~(1U << 5);
演示。