[] 一个简单的关于求补运算的有关问题
[求助] 一个简单的关于求补运算的问题
我想用二进制数求补然后+1
但是c#里的数据类型都是32位的,不明白怎么操作。
如果说我现在想对二进制10进行求补的话
应该怎么把前面的1去掉呢?只留下01
麻烦各位帮忙解答 谢谢
------解决方案--------------------
我想用二进制数求补然后+1
但是c#里的数据类型都是32位的,不明白怎么操作。
如果说我现在想对二进制10进行求补的话
应该怎么把前面的1去掉呢?只留下01
麻烦各位帮忙解答 谢谢
------解决方案--------------------
- C# code
string bin = Convert.ToString(10, 2); StringBuilder sb = new StringBuilder(); foreach (char c in bin) sb.Append(c == '0' ? '1' : '0'); Console.WriteLine(Convert.ToInt32(sb.ToString(), 2) + 1);
------解决方案--------------------
~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位。按位求补运算符是为 int、uint、long 和 ulong 类型预定义的。