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

初识c语言————位运算符

目录:

一.位运算符


一.位运算符

    位运算符直接对整数的二进制位进行操作,在系统编程,嵌入式开发和性能优化中非常重要。注意:位运算符只能用于整数类型,按道理来说也可以是bool类型和枚举类型。

    1.&运算符

        &运算符的规则是当两个位都为1时,结果才为1

        例如:int a=5 ;(二进制为:0101)   int b=3;(二进制为:0011)

                   int sum=a&b;(sum的值为1,因为a&b的二进制为0001,转变为十进制为1)

     2.|运算符

         |运算符的规则是当两个位有一个为1时,结果就为1

         例如:int a=5 ;(二进制为:0101)   int b=3;(二进制为:0011)

                    int sum=a|b;(sum的值为7,因为a|b的二进制为0111,转变为十进制为7)

      3.^运算符

          ^运算符的规则是当两个位不同时,结果就为1;相同时结果就为01

          例如:int a=12 ;(二进制为:1100)   int b=10;(二进制为;1010)

                    int sum=a^b;(sum的值为6,因为a^b的二进制为0110,转变为十进制为6)

      4.~运算符

          ~运算符的规则是每位取反,0变1,1变0

          例如:int a=15 ;(二进制为:00001111)

                    int sum=~a;(sum的值为240,因为~a的二进制为11110000,转变为十进制为240)

          注意:位取反运算符会对操作数的所有位进行取反,包括符号位。取反的位数由数据类型决定:一般来说:char有8位,short有16位,int有32位,long有32/64位,long long有64位

      5.<<运算符

          <<运算符的规则是所有位向左移动,低位补0

          例如:int a=11 ;(二进制为:00001011)

                    int sum=a<<2;(sum的值为44,因为a^b的二进制为00101100,转变为十进制为44)

          数学意义:等价于乘以2的n次方(n为移动位数)

      6.>>运算符

          >>运算符的规则是所有位向右移动,高位补0

          例如:int a=44 ;(二进制为:00101100)

                    int sum=a>>2;(sum的值为11,因为a^b的二进制为00001011,转变为十进制为11)

          数学意义:等价于除以2的n次方(n为移动位数)

      7.位运算符的优先级

          从高到低排列顺序为:~ > << , >> > & > ^ > |

                   

http://www.dtcms.com/a/415340.html

相关文章:

  • 南充做网站的公司网络架构师证书
  • Appinventor笔记5-列表块
  • 天津做网站印标帝国手机网站怎么做
  • 单位网站建设有机房吗在线网站模板
  • 手写MyBatis第79弹:MyBatis二级缓存事务一致性:解决脏读与缓存一致性难题
  • TENGJUN-4极反向沉板耳机插座:JA05-BPD011-A;技术解析
  • Raft 算法深度解析:角色、选举、日志复制与分区处理优化
  • Linux进程(3)
  • 大型建设网站自己动手制作网站
  • 濮阳做公司网站青羊区城乡建设网站
  • 版式设计模板网站wordpress 获取文章
  • 操作系统页面置换算法FIFO——Belady异常与一个简单案例
  • 网站开发定制方案企业网店推广运营策略
  • 杭州设计企业网站高端公司游戏网站开发试验报告
  • React Native:使用vite创建react项目并熟悉react语法
  • LazyLLM 学习
  • 服饰 公司 网站建设新会网页制作公司
  • 做网站开发的营业执照电商货源网站大全
  • Redis 主从同步:原理、配置与实战优化
  • 什么是网站反链企业建设网站风险
  • 毕业设计开题报告网站开发深圳哪家网站设计比较好
  • 常用的Python项目管理工具
  • 网站建设设计技术方案模板linux 下启动 wordpress
  • 温建设文件发布在哪个网站做网站需要ui设计吗
  • 数字孪生背后的通信协议:MQTT、OPC UA选型指南
  • Nest 身份鉴权与权限控制
  • C#系统日志
  • CMakeLists.txt语法(三)
  • 简单flash个人网站山东省建设教育集团网站首页
  • windows多显示器,独立的虚拟桌面