小技巧 ----- 位运算的一些结论与应用
x乘2的幂与除2的幂 (左乘右除)
公式:
(x << n)表示x乘上2的n次方
(x >> n)表示x除以2的n次方// 10乘2的5次方
(10 << 5) 等价于 10*pow(2, 5)
// 10除2的2次方
(10 >> 2) 等价于 10/pow(2, 2)
注意:被运算的数字始终在左边,2的次方数在右边
2的n次方
(1 << n) 等价于 pow(2, n)
(1 << 10) 等价于 pow(2, 10)
不用temp交换两个整数
void swap(int x , int y)
{x ^= y;y ^= x;x ^= y;
}
判断一个十进制数的二进制串的某一位数字是0 or 1
// 判断二进制串1110的第3位(最低位为第0位)是数字1还是0
14 >> 3 & 1 // 运算结果为1
应用:
- 通过二进制串的位运算进行一维指数型枚举
- 通过二进制串的位运算进行二维指数型枚举
小技巧 ----- 位运算的一些结论与应用相关推荐
- 常用技巧 —— 位运算
[概述] 在计算机中,数据都是以二进制形式存储的,因此位运算实质就是对整数在内存中的二进制位直接进行操作. 灵活使用位运算,不仅能有效的提高程序的效率,而且还能为代码提供亮点. 此外,在程序设计竞赛中 ...
- 常用技巧 —— 位运算 —— 位运算基础
[与运算] 与运算常用于二进制的取位操作,其用符号 & 表示,相同位的两个数字都为1,则为1,若有一个不为1,则为0. 例如:00101 & 11100 = 00100 其会将两个十进 ...
- 常用技巧 —— 位运算 —— 位运算的应用
1.lowbit:计算一个数字 x 二进制下最低位 1 对应的值 方法: int lowbit(int x){return x&(-x); } lowbit 利用了补码的特性:正数的补码是其自 ...
- 常用技巧 —— 位运算 —— 异或运算实现两个数的交换
[概述] 交换变量时,通常是借助一临时变量来赋值实现 void exchange(int a,int b) {int temp;temp=a;a=b;b=temp; } 当采用异或运算时,实现两变量交 ...
- 常用技巧 —— 位运算 —— 异或 1 的妙处
由以下两张图可以得出一一般性规律:如果是一个偶数 ^ 1,那么结果是偶数 +1:如果是一个奇数 ^ 1,那么结果是奇数 -1
- 《位运算技巧以及Leetcode的一些位运算题目》
目录 技巧 练习位运算 [461. 汉明距离](https://leetcode-cn.com/problems/hamming-distance/) [190. 颠倒二进制位](https://le ...
- 位运算 位运算应用
本页目录 位运算分为2个大类 位于 &(一0则0) 位或| (双0则0) 异或 ^(互异则1) 利用异或可实现一个小面试题,如何不添加变量,实现数据的替换 按位取反 ~ 左移 << ...
- 全面解读Math对象及位运算
<p>本文转载自:<a href="https://segmentfault.com/a/1190000008786789" title="全面解读Ma ...
- 视频教程-让你事半功倍的12个Excel小技巧-Office/WPS
让你事半功倍的12个Excel小技巧 Adobe平面设计与影视剪辑专家讲师.微软Office办公软件专家讲师.资深IT图书作者/策划人/出版人.深度/终身学习研究与实践者.Python全栈工程师/We ...
最新文章
- php 接口继承,详细对比php中类继承和接口继承
- 【Android】关于Android控件EditText的属性InputType的一些经验
- mysql自动生成日期序列号_mysql – 在一天内为实体生成唯一的序列号
- php接口和java接口_java和php接口的区别是什么
- MySQL-5.5.33主从复制
- POJ 1182 食物链(并查集+偏移向量)题解
- Tomcat中设置数据源和连接池
- 30秒Python轻松入门-目录
- 理解mysql 底层原理
- 夜神安卓模拟器安装xposed框架
- 数据预处理—8.属性归约之主成分分析(理论及python实现)
- Error running ‘x‘: Command line is too long. Shorten command line for x or also for Application
- 无人驾驶插秧机智能辅助系统_北斗年会 | 智慧农业:插秧“神器”大显身手——雷科防务致力于高精度无人驾驶插秧机前装应用...
- 解决ichat模块调用过程中——登录微信网页版失败的方法
- 移动边缘计算(MEC)
- NVIDIA Game Ready 显卡驱动517.48发布!为《守望先锋2》做好游戏准备
- RTF文件格式编码说明
- python中的异常、模块、文件
- g4560和二代i5_两款处理器奔腾G4560和i5-7400差距?
- linux添加定时任务报错 error renaming /var/spool/cron/#tmp.xxxxxxxx to /var/spool/
热门文章
- ubuntu安装jdk6
- CentOS更改yum源与更新系统
- 第十篇 JVM核心机制之JVM运行和类加载全过程(五)
- 深入css布局 (3)完结 — margin问题与格式化上下文
- Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
- 二叉树的常用操作(节点的后继节点)
- 【Java从0到架构师】Spring - 纯注解开发
- 强烈推荐!入门大数据分析必看的知识点总结,适合零基础学习
- 职称计算机 宜兴,关于报送2020年经济、石油化工工程、 电子信息工程和工艺美术高级专业技术资格评审材料的通知...
- 卡西欧计算机怎么传程序,卡西欧计算器程序传输软件fa-124的使用方法