C/运算符(按位与、按位或、按位异或)
本文主要介绍C语言中按位与、按位或、按位异或三个操作符的使用。
该三个操作符中的位,代表的是二进制位。
- 按位与:&
运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)
实例:
#include<stdio.h>int main()
{int a = 3 & 5;printf("%d ", a);return 0;
}
输出结果:
分析该代码 :
- 3的补码: 0000 0000 0000 0000 0000 0000 0000 0011.
- 5的补码: 0000 0000 0000 0000 0000 0000 0000 0101.
- 经过按位与的操作,得到的补码为: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;
}
输出结果:
分析该代码:
- 3的补码:0000 0000 0000 0000 0000 0000 0000 0011.
- 5的补码:0000 0000 0000 0000 0000 0000 0000 0101.
- 经过按位或的操作,得到的补码为: 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;
}
输出结果:
分析该代码:
- -3的补码:1111 1111 1111 1111 1111 1111 1111 1101.
- 5的补码:0000 0000 0000 0000 0000 0000 0000 0101.
- 经过按位异或得到的补码为:1111 1111 1111 1111 1111 1111 1111 1000
故输出结果为-8.
这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位
C/运算符(按位与、按位或、按位异或)相关推荐
- C语言按位与 按位或 按位异或 按位取反
与运算:& 两者都为1为1,否则为0 1&1=1, 1&0=0, 0&1=0, 0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1, 1| ...
- C语言按位与 按位或 按位异或 按位取反 (一)
与运算:& 两者都为1为1,否则为0 1&1=1, 1&0=0, 0&1=0, 0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1, 1| ...
- C语言按位与 按位或 按位异或 按位取反(二)
位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...
- 位运算符:按位与(),按位或(|),按位异或(^),取反(~)左移()和右移()
数据在内存中是以二进制的形式存放的,计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1),一个字节通常由8位二进制位组成.C语言支持按位运算,按位运算也就是对字节或者字中的实 ...
- c/c++位操作简介--移位、位与、位或、异或
概述 C/C++里面位操作符表示为如下:左移位 << ,右移位 >>,位与 &,位或 | ,位异或 ^,按位求反~. 位操作符针对的是补码形式(可参见下面的例子,其实我 ...
- 位与()、位或(|)、异或(^) 、左移<<、右移>>、原码、反码、补码的简单应用
一.位与(&).位或(|).异或(^) 1.位与运算(&):两位同时为1,结果才为1,否则为0 参加运算的两个数据,按二进制位进行"&"运算. 运算规则:0 ...
- 位运算专题一:位与、位或、位反
位运算只用于所有的整型!!(char,short,int,long int,long long,unsigned char,unsigned short......),浮点值均不适用!!! 位运算有哪 ...
- sql位运算符【(位与)、~(位非)、|(位或)、^(位异或)】与位移
1.&(位与) 上下运算,按照与的运算规则:0&0=0 :0&1=0:1&1=1 例如: 170 & 75 结果为:0000 0000 0000 1010 再把 ...
- Java笔记(二)运算符——逻辑与逻辑或 / 按位与按位或 等( || 和 |)
1 赋值运算符 2 算数运算符 2.1 + - * / % 2.2 自增自减 运算符:++ - - 3 关系运算符 4 逻辑运算符 && || !& | 5 位运算符 & ...
- c 语言 按位与或非运算符,C++中的按位与、按位与或|、按位异或^运算符详解
按位与运算符:& 语法 expression & expression 备注 表达式可以是其他"与"表达式,或(遵循下面所述的类型限制)相等表达式.关系表达式.加法 ...
最新文章
- 华为聚焦AI基础平台,加速行业智能化落地
- IntelliJ IDEA 2017 注册方法
- led显示屏背景墙设计_全彩LED显示屏比例设计因素都有哪些?
- ThinkPHP5下自己写日志
- QT的QVarLengthArray类的使用
- javascript常用技巧
- sdut 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- oracle 嵌套游标慢,oracle 嵌套游标以及java,oracle的时间处理
- JQuery实现——黑客帝国代码雨效果
- “地球观光之旅”来到这座赛博朋克的城市了!
- 重拾Excel之为什么
- Audio驱动开发之音频链路学习笔记
- php中fread用法,php fread函数与fread函数用法_PHP教程
- 喝酒娱乐小游戏微信小程序源码
- 数据分析的软件最全场景盘点
- 学习笔记-极客时间 玩转 git 三剑客 课程记录
- 学计算机需要什么文具,开学需要准备哪些文具用品
- python-spider个人笔记
- 涅普之rce(远程代码控制)
- html滚动条固定前几行,bootstrapTable定位行固定滚动条
热门文章
- 极客搜索爬取request payload构建post请求
- html+css制作3D旋转正方体特效
- 程序员如何保护眼睛?
- 基恩士PLC程序中电机控制原理
- 基恩士PLC KV8000+XH16EC总线控制,全ST程序实例 全程序无加密,公司级框架,功能齐全,提供项目源码框架FB源码
- 二进制的转换以及计算
- 基于风险的测试终极指南:软件测试中的风险管理(一)
- 快速傅里叶c51语言程序,快速傅里叶变换及其C程序
- zip.001 zip.002 zip.003....如何解压
- 宏基linux连不上wifi,宏基电脑连不上无线网络怎么回事