You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:整数间的|运算符如何运算?代码实例结果解析

理解C++中的按位或运算符 |

嘿,咱们来把这个问题拆解得明明白白!你代码里的 | 是按位或运算符,它的核心是对两个整数的二进制位逐位进行逻辑或操作,而非普通的算术运算。

咱们拿你的代码例子一步步分析:

#include<iostream>
int main() {
    int x, y, z;
    x = 2;
    y = 4;
    z = x | y; // 这里就是按位或运算
}

第一步:把十进制整数转成二进制

要搞懂按位运算,首先得把数字换成二进制形式(为了对齐运算,补上前导零让位数一致):

  • x = 2 的二进制是 010
  • y = 4 的二进制是 100

第二步:逐位执行或运算

按位或的规则很简单:对应二进制位上只要有一个是1,结果位就是1;只有两个都是0时,结果位才是0。我们把两个数的二进制位对齐后逐位计算:

010  (2的二进制)
| 100  (4的二进制)
------
  110  (结果的二进制)

逐位拆解:

  • 最右边的最低位:0 | 0 = 0
  • 中间位:1 | 0 = 1
  • 最左边的高位:0 | 1 = 1

第三步:把二进制结果转回十进制

二进制 110 转换成十进制就是 6(计算方式:12² + 12¹ + 0*2⁰ = 4+2+0=6),所以最终 z 被赋值为6。

简单总结:按位或运算就是把两个数拆成二进制位,每一位独立做或操作,最后把结果转成十进制就行啦。

内容的提问来源于stack exchange,提问作者Charles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:23:03