本文主要介绍C语言中按位与、按位或、按位异或三个操作符的使用。

该三个操作符中的位,代表的是二进制位。

  • 按位与:&

运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)

实例:

#include<stdio.h>int main()
{int a = 3 & 5;printf("%d  ", a);return 0;
}

输出结果:

分析该代码 :

  1. 3的补码: 0000 0000 0000 0000 0000 0000 0000 0011.
  2. 5的补码: 0000 0000 0000 0000 0000 0000 0000 0101.
  3. 经过按位与的操作,得到的补码为:0000 0000 0000 0000 0000 0000 0000 0001.

故输出结果为1.

  • 按位或:|

运算规则:只有两个数的二进制同时为0,结果才为0,否则为1。(负数按补码形式参加按位或运算)

实例:

#include<stdio.h>int main()
{int a = 3 | 5;printf("%d  ", a);return 0;
}

输出结果:

分析该代码:

  1. 3的补码:0000 0000 0000 0000 0000 0000 0000 0011.
  2. 5的补码:0000 0000 0000 0000 0000 0000 0000 0101.
  3. 经过按位或的操作,得到的补码为: 0000 0000 0000 0000 0000 0000 0000 0111.

故输出结果为7.

  • 按位异或:^

运算规则:当两个数的二进制相同时,结果为0,否则为1。(负数按补码形式参加按位异或运算)

实例:

#include<stdio.h>int main()
{int a = -3 ^ 5;printf("%d  ", a);return 0;
}

输出结果:

分析该代码:

  1. -3的补码:1111 1111 1111 1111 1111 1111 1111 1101.
  2. 5的补码:0000 0000 0000 0000 0000 0000 0000 0101.
  3. 经过按位异或得到的补码为:1111 1111 1111 1111 1111 1111 1111 1000

故输出结果为-8.

这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位

C/运算符(按位与、按位或、按位异或)相关推荐

  1. C语言按位与 按位或 按位异或 按位取反

    与运算:& 两者都为1为1,否则为0 1&1=1,  1&0=0,  0&1=0,  0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1,  1| ...

  2. C语言按位与 按位或 按位异或 按位取反 (一)

    与运算:& 两者都为1为1,否则为0 1&1=1,  1&0=0,  0&1=0,  0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1,  1| ...

  3. C语言按位与 按位或 按位异或 按位取反(二)

    位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...

  4. 位运算符:按位与(),按位或(|),按位异或(^),取反(~)左移()和右移()

    数据在内存中是以二进制的形式存放的,计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1),一个字节通常由8位二进制位组成.C语言支持按位运算,按位运算也就是对字节或者字中的实 ...

  5. c/c++位操作简介--移位、位与、位或、异或

    概述 C/C++里面位操作符表示为如下:左移位 << ,右移位 >>,位与 &,位或 | ,位异或 ^,按位求反~. 位操作符针对的是补码形式(可参见下面的例子,其实我 ...

  6. 位与()、位或(|)、异或(^) 、左移<<、右移>>、原码、反码、补码的简单应用

    一.位与(&).位或(|).异或(^) 1.位与运算(&):两位同时为1,结果才为1,否则为0 参加运算的两个数据,按二进制位进行"&"运算. 运算规则:0 ...

  7. 位运算专题一:位与、位或、位反

    位运算只用于所有的整型!!(char,short,int,long int,long long,unsigned char,unsigned short......),浮点值均不适用!!! 位运算有哪 ...

  8. sql位运算符【(位与)、~(位非)、|(位或)、^(位异或)】与位移

    1.&(位与) 上下运算,按照与的运算规则:0&0=0 :0&1=0:1&1=1 例如: 170 & 75 结果为:0000 0000 0000 1010 再把 ...

  9. Java笔记(二)运算符——逻辑与逻辑或 / 按位与按位或 等( || 和 |)

    1 赋值运算符 2 算数运算符 2.1 + - * / % 2.2 自增自减 运算符:++ - - 3 关系运算符 4 逻辑运算符 && || !& | 5 位运算符 & ...

  10. c 语言 按位与或非运算符,C++中的按位与、按位与或|、按位异或^运算符详解

    按位与运算符:& 语法 expression & expression 备注 表达式可以是其他"与"表达式,或(遵循下面所述的类型限制)相等表达式.关系表达式.加法 ...

最新文章

  1. 华为聚焦AI基础平台,加速行业智能化落地
  2. IntelliJ IDEA 2017 注册方法
  3. led显示屏背景墙设计_全彩LED显示屏比例设计因素都有哪些?
  4. ThinkPHP5下自己写日志
  5. QT的QVarLengthArray类的使用
  6. javascript常用技巧
  7. sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
  8. oracle 嵌套游标慢,oracle 嵌套游标以及java,oracle的时间处理
  9. JQuery实现——黑客帝国代码雨效果
  10. “地球观光之旅”来到这座赛博朋克的城市了!
  11. 重拾Excel之为什么
  12. Audio驱动开发之音频链路学习笔记
  13. php中fread用法,php fread函数与fread函数用法_PHP教程
  14. 喝酒娱乐小游戏微信小程序源码
  15. 数据分析的软件最全场景盘点
  16. 学习笔记-极客时间 玩转 git 三剑客 课程记录
  17. 学计算机需要什么文具,开学需要准备哪些文具用品
  18. python-spider个人笔记
  19. 涅普之rce(远程代码控制)
  20. html滚动条固定前几行,bootstrapTable定位行固定滚动条

热门文章

  1. 极客搜索爬取request payload构建post请求
  2. html+css制作3D旋转正方体特效
  3. 程序员如何保护眼睛?
  4. 基恩士PLC程序中电机控制原理
  5. 基恩士PLC KV8000+XH16EC总线控制,全ST程序实例 全程序无加密,公司级框架,功能齐全,提供项目源码框架FB源码
  6. 二进制的转换以及计算
  7. 基于风险的测试终极指南:软件测试中的风险管理(一)
  8. 快速傅里叶c51语言程序,快速傅里叶变换及其C程序
  9. zip.001 zip.002 zip.003....如何解压
  10. 宏基linux连不上wifi,宏基电脑连不上无线网络怎么回事