位运算笔记
发表于|更新于|Wiki
位运算笔记
判断奇偶(逻辑与 &)
1 | if((x&1) == 1) |
交换两个整数(逻辑异或 ^)
1 | void sswap(int *a,int *b) |
求整数的绝对值
1 | int ffabs(int x) |
获取二进制数的某一位
1 | x>>i&1;//表示x的二进制第i位 |
修改二进制中的某一位为1
1 | x|(1<<i); |
修改二进制中的某一位为0
1 | x&~(1<<i); |
快速判断一个数字是否为2的幂次方
1 | x&(x-1);//是则为0 |
获取二进制位中最低位的1
1 | lowbit(x)=x&-x;//若x=010010则lowbit(x)=000010 |
文章作者: TouHouQing
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TouHouQing's Blog!
相关推荐
2025-09-04
算法笔记java
拓扑排序12345678910111213141516171819202122232425262728293031323334353637383940class Solution { // 返回有向无环图(DAG)的其中一个拓扑序 // 如果图中有环,返回空列表 // 节点编号从 0 到 n-1 public List<Integer> topologicalSort(int n, int[][] edges) { List<Integer>[] g = new ArrayList[n]; Arrays.setAll(g, _ -> new ArrayList<>()); int[] inDeg = new int[n]; for (int[] e : edges) { int x = e[0]; int y = e[1]; g[x].add(y); ...
2026-04-08
Agent八股文
什么是 RAG?RAG 的主要流程是什么?一、RAG 的定义RAG 全称 Retrieval Augmented Generation(检索增强生成),核心是给大模型挂载外部知识库,解决大模型的两大核心痛点: 知识滞后性:训练数据有时间截止点,无法获取最新信息 私有数据缺失:不了解企业内部文档、私有业务数据等未训练过的内容,本质是让大模型基于外部实时 / 私有知识 “开卷答题”,避免幻觉,提升回答准确性。 二、RAG 的核心流程(通俗版 + 专业版) 通俗记忆:找 → 缝 → 写 找:用户提问后,先不调用大模型,去向量数据库中检索和问题语义相关的资料片段 缝:把用户问题 + 检索到的相关资料,拼接成信息量更大的 Prompt 写:将拼接后的 Prompt 输入大模型,让大模型基于资料生成准确、无幻觉的回答 什么是 RAG 中的 Rerank?具体需要怎么做?一、Rerank 是什么Rerank(重排序)是 RAG 流程中,对初步检索返回的候选文档列表进行二次精准排序的步骤,核心是在检索速度和回答精度之间做平衡。 通俗类比(招聘流程) 初步检索(向量检索 ...
2025-04-29
php学习笔记
以下是专为 PHP 7.4 初学者设计的全面学习文档,涵盖基础语法、细节语法和进阶语法,结合 PHP 7.4 新特性与实战案例,帮助您系统掌握 PHP 开发: 一、基础语法:构建 PHP 编程基石1. 变量与数据类型 变量声明:使用 $ 符号声明,无需提前指定类型。 123$name = "John"; // 字符串$age = 30; // 整数$salary = 5000.5; // 浮点数 数据类型:标量(int, float, string, bool)、复合(array, object)、特殊(resource, NULL)。 类型强制转换: 12$num = (int) "123"; // 转换为整数$str = (string) 456; // 转换为字符串 2. 运算符与表达式 算术运算符:+, -, *, /, %。 比较运算符:==, ===, >, <, <=, >=。 逻辑运算符:&...
2025-04-18
vue3学习笔记
属性绑定1. 基本语法在 Vue 3 里,使用 : 或者 v-bind: 来进行属性绑定。这两种写法是等价的,: 是 v-bind: 的缩写形式。以下是示例代码: 1234567891011121314<template> <img :src="imageUrl" alt="An example image"> <a v-bind:href="linkUrl">Click me</a></template><script setup>import { ref } from 'vue';// 定义响应式数据const imageUrl = ref('https://example.com/image.jpg');const linkUrl = ref('https://example.com');</script> 在上述代码中,imageUrl ...
2025-04-11
SQL server 学习笔记
SQL server 学习笔记SQL语言基础及数据定义功能基本表的定义与删除定义基本表12345678910111213141516171819202122232425262728293031323334353637383940CREATE TABLE <表名>(<列名> <数据类型> [列名完整性约束定义]{,<列名> <数据类型> [列级完整性约束定义]...}[,表级完整性约束定义])例CREATE TABLE Student( Sno char(7) PRIMARY KEY, //在列级完整性约束处定义主键约束 Sname nvarchar(10) NOT NULL, Ssex nchar(1), Sage tinyint, Sdept nvarchar(20))/创建三个表CREATE TABLE Student( Sno char(7) PRIMARY KEY, Sname nvarchar(10) NOT NULL, Ssex nchar(1), Sage tin...
2025-04-11
算法笔记C++
算法笔记算法基础二分整数二分//在一个单调区间里面去找答案 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r)//适用于目标值确定在数组中存在,且需要精确找到目标值位置的场景 { while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; // check()判断mid是否满足性质 else l = mid + 1;//左加右减 } return l; } // 区间[l, r]被划分成[l, m...
评论
公告
欢迎来到我的博客,我是一名独立开发者,热衷于研究各种各样的IT技术,如果你也是IT爱好者,可以和我一起交流讨论
微信:tohoqing
QQ:896985966
技术交流群:901872448
千人游戏开黑群:434692812
微信:tohoqing
QQ:896985966
技术交流群:901872448
千人游戏开黑群:434692812
目录



