首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

[] 一个简单的关于求补运算的有关问题

2012-01-15 
[求助] 一个简单的关于求补运算的问题我想用二进制数求补然后+1但是c#里的数据类型都是32位的,不明白怎么

[求助] 一个简单的关于求补运算的问题
我想用二进制数求补然后+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 类型预定义的。

热点排行