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

【算法】位运算

🌈个人主页:秦jh_-CSDN博客
🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12862161.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12862161&sharerefer=PC&sharesource=qinjh_&sharefrom=from_link

 9efbcbc3d25747719da38c01b3fa9b4f.gif​ 

目录

基础位运算

给定一个数n,确定它的二进制表示中的第x位是0还是1

将一个数n的二进制表示的第x位修改成1

 将一个数n的二进制表示的第x位修改成0

提取一个数n二进制表示中最右侧的1

干掉一个数n二进制表示中最右侧的1

异或(^)运算的运算律


前言

    💬 hello! 各位铁子们大家好哇。

             今日更新了位运算的相关内容
    🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝

基础位运算

位运算符:

  • 左移:<<
  • 右移:>>
  • 按位取反:~
  • 按位与:&  (有0就是0)
  • 按位或:|      (有1就是1)
  • 按位异或:^    (相同为0,相异为1/无进位相加)

这里规定,二进制数中,第一位是最右边那位。起始下标是0,最后一位是最左边那位,下标是31。这样是为了方便位移操作与下标对应。比如:想把第三位右移到第一位,它的下标是2,此时右移两位即可。

 

给定一个数n,确定它的二进制表示中的第x位是0还是1

 (n>>x)&1

将一个数n的二进制表示的第x位修改成1

 n |= (1<<x)

 将一个数n的二进制表示的第x位修改成0

n &= (~(1<<x))

提取一个数n二进制表示中最右侧的1

lowbit=n & (-n)  

原理:-n要对n取反加1。取反加1后,就将最右侧的1的左边区域全部相反,右边不变。

干掉一个数n二进制表示中最右侧的1

n&(n-1)

原理:(n-1)的含义是,将最右侧的1,右边的区域(包含1)全部变成相反。

异或(^)运算的运算律

  • a^0=a
  • a^a=0
  • a^b^c=a^(b^c)

下图是第三种运算律的简单证明:(无进位相加)

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

相关文章:

  • OpenCV计算摄影学Computational Photography
  • 【IEEE出版,往届会后3个月EI检索 | 西华大学主办 | 中英文期刊、SCI期刊推荐】第四届能源、电力与电气国际学术会议(ICEPET 2025)
  • DeepSeek+Kimi生成高质量PPT
  • 智慧家居中的视频监控系统-------2、MJPG-streamer方案的实现
  • 迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-配置 rk3568_uart_config.hcs
  • 即将发布书籍 - Yocto项目实战教程:高效定制嵌入式Linux系统
  • 为什么要将PDF转换为CSV?CSV是Excel吗?
  • 如何实现应用程序与中间件的类进行隔离
  • 无人机实战系列(二)本地摄像头 + Depth-Anything V2
  • python学习一
  • 算法系列之搜素算法-二分查找
  • 一.Vue中的条件渲染
  • vue 修改el-tree高亮样式
  • Visual Studio 中 C/C++ 函数不安全警告(C4996)终极解决方案:分场景实战指南
  • 一周热点:Replit-用于下单的移动应用程序
  • 【Pandas】pandas Series where
  • 欧拉回路与哈密尔顿回路: Fleury算法与Hierholzer 算法(C++)
  • 从图片生成3维场景--NERF原理解析及加速版HashNeRF-pytorch代码实现
  • (九)Mapbox GL JS 中 Marker 图层的使用详解
  • 学习笔记04——JMM内存模型
  • 在Spring Boot+Vue前后端分离的项目中使用JWT实现基本的权限校验
  • 数据安全_笔记系列01:数据分类分级与敏感数据识别详解
  • 内容中台智能推荐系统的模型演进
  • CSS中padding和margin属性的使用
  • Flutter系列教程之(2)——Dart语言快速入门
  • docker-Compose工具使用
  • Go入门之接口
  • VMware虚拟机17.5.2版本下载与安装(详细图文教程包含安装包)
  • C语言:字符函数和字符串函数
  • 【Swift 算法实战】利用 KMP 算法高效求解最短回文串