我试图理解| =在c ++中,我有示例代码
int x = 0 ;
x |= 3;
std::cout<<x <<std::endl;
x |= 6;
std::cout<<x <<std::endl;
Run Code Online (Sandbox Code Playgroud)
输出是:
3
7
Run Code Online (Sandbox Code Playgroud)
这怎么可能,它与位加法有关吗?
这是一个按位或分配.它与x = x |相同 3.
以二进制按位或相当于"如果它在任一数字中为1,则结果中将为1".所以x | = 3使得3.然后x是二进制11,而6是二进制110,所以11 | 101 = 111(二进制)= 7(十进制).
x |= 3
Run Code Online (Sandbox Code Playgroud)
手段
x = x |3
Run Code Online (Sandbox Code Playgroud)
按位或操作.
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |