位运算笔记
发表于|更新于|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-04-22
TypeScript学习笔记(上手vue3版)
一、TS 基础类型(Vue 3 必备)1. 基础类型TypeScript 提供了丰富的基础类型,用于变量声明,明确变量的类型,提高代码的可读性和可维护性。 基本类型 number(数字):用于表示整数和浮点数。 12let num: number = 10;let floatNum: number = 3.14; string(字符串):表示文本数据。 1let str: string = "Hello, TypeScript"; boolean(布尔):只有两个值 true 和 false。 1let isDone: boolean = false; 特殊类型 any(任意类型):当不确定变量的具体类型时使用,它可以是任何类型的值。 12let anyValue: any = "可以是字符串";anyValue = 123; // 也可以是数字 void(无类型):通常用于函数没有返回值的情况。 123function logMessage(): void { console.log(&q...
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-22
css学习笔记(快速了解版)
一、CSS 选择器CSS 选择器用于选择 HTML 元素,以便为其应用样式。以下是常见的选择器类型: 标签选择器 通过 HTML 标签名来选择元素。例如,p 选择器会选中页面中所有的 <p> 标签元素。 123p { color: blue;} 类选择器 以点号 . 开头,后面跟类名。HTML 元素可以通过 class 属性来使用这个类。 1<p class="highlight">这是一个有高亮样式的段落。</p> 123.highlight { background-color: yellow;} ID 选择器 以井号 # 开头,后面跟 ID 名。每个 HTML 元素的 id 属性值应该是唯一的。 1<div id="header">这是页面头部。</div> 123#header { height: 100px;} 组合选择器 并集选择器:用逗号分隔多个选择器,同时选...
2025-04-11
库函数笔记
库函数笔记向上取整double ceil(double x)C++11扩展:提供ceilf(float)、ceill(long double)除数a被除数b -> a/b向上取整可以表示为(a+b-1)/b ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);关io同步流,减少输入输出时间复杂度,但导致scanf不能一起用。 unique 去重http://t.csdnimg.cn/rEFrD 函数作用:“去除”容器或数组中相邻元素之间重复出现的元素(所以一般使用前需要排序)。 函数参数:第一个参数是集合的起始地址,第二个参数是集合的最后一个元素的下一个元素的地址(其实还有第三个参数,比较函数,但是几乎不用,就不说了,其实和sort函数很像)。 123456789101112131415#include <iostream>#include <algorithm>int main(void){ int a[8] = {2, 2, 2, 4, 4, 6, 7...
2025-05-22
Laravel笔记
函数操作pluck(''):提取指定字段 从 $rawRescanLogs 集合中提取所有记录的 '' 字段值,生成一个 新的集合(仅包含 m 数据)。 Eloquent 集合的 pluck() 方法:专门用于提取模型集合中指定字段的值,返回一个值的集合(非关联数组)。 filter():过滤空值 移除集合中的 空值(包括 null、空字符串 ""、0 等,但需注意 0 是否为有效数据)。 Eloquent 集合的 filter() 方法:会自动过滤掉 falsy 值(默认行为),仅保留真值。 unique():去重 移除集合中 重复的值,保留唯一值,生成一个新集合。 Eloquent 集合的 unique() 方法:默认根据值去重(非键名),相同值仅保留第一个出现的项。 values():重置数组索引 移除集合中的 原有索引,并重新生成从 0 开始的连续整数索引。 场景:当集合的键名(如原有数据库记录的索引)不需要保留时,重置索引便于后续遍历或操作。 all():转换为普通数组 将 Eloquent 集合 转换为 PH...
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






