CodeGo.net>如何重置Ulong单位?

codeday· 2019-11-11
本文来自 codeday ,作者 codeday
我有乌龙号码.我需要能够快速设置和重置单个位.例如:

15是1111.通过设置第5位,我将得到47,所以101111

我弄清楚了如何设置:

ulong a = 15;
a |= 1 << 5; // so, now a=47

但是我正在努力将其重置为0.我正在尝试:

a &= ~(1 << 5);

它不起作用,因为我不能使用& ulong变量上的运算符.

解决方法是什么?我需要此操作尽快.

最佳答案

I can’t use & operator on ulong variable.

这是因为1是带符号的.使用U后缀使其无符号可解决此问题:

a &= ~(1U << 5);

Demo.