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

相关推荐
Jul1en_7 小时前
【Java 脚手架】封装通用工具类-1
java·spring boot·分布式·spring·spring cloud
崔高杰7 小时前
【自动阅读笔记】Inference-Time Scaling for Generalist Reward Modeling
人工智能·笔记·机器学习
mlidongfeng7 小时前
[AI][C++26] SIMD 编程模型思考
开发语言·c++·人工智能
梓䈑7 小时前
【用 Vibe Coding 实现的 C++17 在线判题系统】OpenCode 入门指南:从环境搭建到上下文管理
c++·ai编程
j7~7 小时前
【Linux】二十七.线程篇四《Linux多线程编程:线程互斥(互斥量的底层到封装)、线程安全和冲入、死锁》---详解
linux·开发语言·c++·线程安全·死锁·线程互斥·重入
关于不上作者榜就原神启动那件事7 小时前
从 MDC 到 Agent:我手搓的文档路由协议,在 Spring AI Alibaba 里找到了正式实现
java·人工智能·spring·ai·agent
啦啦啦啦啦zzzz7 小时前
贪心算法和动态规划
c++·算法·贪心算法·动态规划
我不是懒洋洋8 小时前
从零实现一个分布式数据集成:Airbyte的核心设计
c++
亦暖筑序8 小时前
重新认识 AgentScope-Java 2.0:ReActAgent 负责推理,HarnessAgent 负责运行
java·后端·agent
用户0510122572968 小时前
DAY 5-智能指针与 C++ 内存管理
c++·面试