当第二个操作数为1时,如何将每个位归零
how to zero every bit when in second operand is 1?
示例:
1010111110110001
0101011100010010
================
1010100010100001
|0 1
-|----
0|0 1
1|0 0
如何在c++/c++11中进行此操作?
您可以按位执行NOT,然后与它们进行and运算:a & ~b
给定:
a = 1010111110110001
b = 0101011100010010
则否定b
得到:
~b = 1010100011101101
并进行a & ~b
:
a = 1010111110110001
~b = 1010100011101101
-------------------------
a & ~b = 1010100010100001
simple:
result = op1 & ~op2;
这按位反转第二个操作数(1变为0,反之亦然(。在此之后,您将使用位和。这通常称为使用位掩码。
您应该能够对逐位否定进行逐位AND:
result = val1 & ~val2;
您需要对第二个操作数的余数进行逐位AND运算。
int fun(int x, int y)
{
return x & ~y;
}
相关文章:
- 有没有一种快速的方法可以将类的所有静态成员归零?
- 我可以说服自动生成的构造函数将我的 POD 类成员归零吗?
- 当函数耗尽时结构被归零?
- 将结构的所有元素归零的最佳方法
- std::map<whatever,double>会自动将值归零吗?
- 我是否需要手动将 PCREDENTIAL 归零.凭据blob
- 在C++中对二维数组进行归零.循环需要2个吗
- 是否应始终在析构函数中清除/归零成员数据
- 当我的编译器不符合标准时,如何将数组成员归零
- 我怎样才能只将类的填充字节归零
- 如何在 O(1) 中将数组归零
- 如何将新数组归零
- 如何使用opencv库将3D矩阵的元素归零
- 将mmap偏移量的最后12位归零
- 指向"raw"资源的指针是否应该在析构函数中归零?
- 将现有数组归零的最快方法是什么?
- 将多维数组的一部分归零
- 为什么将结构归零会导致对虚基类成员的访问丢失?
- 这是将数组归零最快的方法
- 当第二个操作数为1时,如何将每个位归零