c++位运算符笔记

1.左移就是乘2

(1)要防止爆int(比如2的n次方写成1LL<<n)

2.右移就是整除2(向下取整)

(1)对于无符号数左边补零对有符号数左边补符号位(其实就是左边原本是什么,我们就补什么)

(2)注意是算数右移(对于大多数编辑器)不是逻辑右移,是向下取整不是向零取整,比如-5>>1为-3,5>>1为2

3.按位与就是全真为1,用来查询(看某一位在不在)

4.按位或就是有真即1,用来设置(把某一位强行变1)

(1)比如我让x与二进制下后四位全为一的数进行按位或,那x的二进制下后四位就会变成一

5.按位异或就是不同为1,用来翻转(把不同的反过来)

(1)不进位的加法(就像小学的竖式加法,只是把10进制变成二进制而已)

a^a=0

a^0=a

(2)用法变量交换

a=a^b
b=a^b
a=a^b

6.按位取反就是所有为反转(连同符号位)

(1)~5 = -6

~0 = -1

相关推荐
凤山老林1 小时前
Spring Boot 3.x AOT 编译实战:从原理、踩坑到生产落地
java·spring boot·后端
xian_wwq1 小时前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
博傅1 小时前
Spring 核心原理
java·后端·spring
yurenpai(27届找实习中)1 小时前
从零读懂 AI 智能客服(一):模块职责与 SSE 聊天链路(后端架构)
java·人工智能·架构·langchain4j
M78佐菲1 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
陈皮波比茶2 小时前
Swagger
java
别动我齐刘海2 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
学习星球2 小时前
OpenHarness 全面配置教学——从游戏开发工作流引入
c++·游戏·ai·ai编程
小闫BI设源码2 小时前
Elasticsearch面试必看:如何让客户端精准选择节点高效执行请求?
java·elasticsearch·面试宝典·深入解析
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 5 章 使用 Spring Boot 阅读笔记 9
java·spring boot·笔记