当前位置: 首页 > news >正文

36.位运算符

一.什么是位运算符

按照二进制位来进行运算的运算符叫做位运算符,所以要先将操作数转换成二进制(补码)的形式在运算。C语言的中的位运算符有:

运算符作用举例结果
&

按位与(and)

0&0=0; 0&1=0; 1&0=0; 1&1=1 同1为1,有0为0

1&11
|

按位或(or)

0|0=0; 0|1=1; 1|0=1; 1&1=1 同0为0,有1为1

1|01
^

按位异或(xor)

0^0=0; 0^1=1; 1^0=1; 1^1=0 不同为1,相同为0

1^10
~

按位取反(not)

~1=0; ~0=1 取反

~10
<<

按位左移

各二进制全部左移若干位,高位丢弃,低位补0

1<<110
>>

按位右移

各二进制全部右移若干位,低位丢弃。对正数左补0,负数左补1

1>>101

记忆表格:

aba&ba|ba^b~a
000001
010111
100110
111100

二.位表达式

用位操作符连接器起来的操作数叫做位表达式。

三.举例

3.1 与(&)运算符

规则:俩个操作数对应的二进制位相同为1,结果位才为1,非则为0

3.2 或(|)运算符

规则:两个操作数对应二进制位同样为0结果位 才为0,否则为1

3.3 取反(~)运算符

规则:每位二进制取反

3.4异或(^)运算符

规则:两个操作数对应二进制位相同则结果位 为0,不同则为1

3.5 左移(<<)运算符

规则:各二进制全部左移若干位,高位丢弃,低位补0

3.5 右移(>>)运算符

各二进制全部右移若干位,低位丢弃。对正数左补0,负数左补1

四.视频教程

37.位运算符_哔哩哔哩_bilibili

http://www.lryc.cn/news/252460.html

相关文章:

  • C#异常处理-throw语句
  • PlantUML语法(全)及使用教程-时序图
  • 231204 刷题日报
  • PTA 7-229 sdut-C语言实验- 排序
  • 原生横向滚动条 吸附 页面底部
  • 1+x网络系统建设与运维(中级)-练习3
  • 知识图谱07——图片中表格开源ocr识别
  • 每日一练2023.12.4——正整数【PTA】
  • golang之net/http模块学习
  • Python中format函数用法
  • Android 断点调试
  • 对抗神经网络 CGAN实战详解 完整数据代码可直接运行
  • LeetCode417. Pacific Atlantic Water Flow
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • Golang中WebSocket和WSS的支持
  • 亚马逊云科技re:Invent大会,助力安全构建规模化生成式AI应用
  • 价差后的几种方向,澳福如何操作才能盈利
  • 【Java】类和对象之超级详细的总结!!!
  • 机器学习的复习笔记3-回归的细谈
  • Git常用命令#切换分支
  • 【qml入门教程系列】:qml property使用介绍
  • pbootcms建站
  • Spring的事务传播行为
  • 04_网络编程
  • 【五分钟】熟练使用numpy.cumsum()函数(干货!!!)
  • 由11月27日滴滴崩溃到近两个月国内互联网产品接二连三崩溃引发的感想
  • Python按要求从多个txt文本中提取指定数据
  • DFT新手教程:VASP中ISIF取值设置
  • pytest自动化框架之allure测试报告的用例描述设置
  • 在编程中遇到的问题总结