c# - C#中按位与的逆运算是什么?

标签 c# bitwise-operators

我需要做一个逆运算,由位与运算组成,我该怎么做?

我试过异或,但没用。

        int i = 254 & 2;
        Console.Write("254 & 2 ={0}", i + "\n");
        Console.Write("{0} ^ 2 ={1}",i, (i ^ 2) + "\n");

不起作用。我该如何计算?

最佳答案

给定 i,你无法返回 254。通过 &ing 它,您已经销毁了未存储在第二位中的数据。

 1111 1110
&0000 0010
----------
 0000 0010

您将如何恢复丢失的 6 位?对于 x & 2 == 2,您几乎可以输入任何 x,它都是真的。

 0010 1010 // = 42
&0000 0010
----------
 0000 0010

x 是 254 还是 42?你无法分辨。

关于c# - C#中按位与的逆运算是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/783237/

相关文章:

std::string 的 C++ 按位运算符

mysql - 排除不适合掩码的值 - mySQL 中的按位运算

c# - MVC 4 获取选定单选按钮的值

c# - 在使用 CaSTLe Windsor IoC 容器注册组件期间设置 Name 属性

c# - 为什么在根据 .NET Standard 编译 .NET Framework 项目时缺少此 NuGet 依赖项?

c# - 使用 Html.HiddenFor 将模型传递给 Controller

c - 左移-1位

c++ - 在 C++ 中对 boolean 值使用位运算符

c++ - 设置十六进制数的位数

c# - 访问者模式是将域枚举重构为类的最佳方式吗?