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. 常用技巧 —— 位运算

    [概述] 在计算机中,数据都是以二进制形式存储的,因此位运算实质就是对整数在内存中的二进制位直接进行操作. 灵活使用位运算,不仅能有效的提高程序的效率,而且还能为代码提供亮点. 此外,在程序设计竞赛中 ...

  2. 常用技巧 —— 位运算 —— 位运算基础

    [与运算] 与运算常用于二进制的取位操作,其用符号 & 表示,相同位的两个数字都为1,则为1,若有一个不为1,则为0. 例如:00101 & 11100 = 00100 其会将两个十进 ...

  3. 常用技巧 —— 位运算 —— 位运算的应用

    1.lowbit:计算一个数字 x 二进制下最低位 1 对应的值 方法: int lowbit(int x){return x&(-x); } lowbit 利用了补码的特性:正数的补码是其自 ...

  4. 常用技巧 —— 位运算 —— 异或运算实现两个数的交换

    [概述] 交换变量时,通常是借助一临时变量来赋值实现 void exchange(int a,int b) {int temp;temp=a;a=b;b=temp; } 当采用异或运算时,实现两变量交 ...

  5. 常用技巧 —— 位运算 —— 异或 1 的妙处

    由以下两张图可以得出一一般性规律:如果是一个偶数 ^ 1,那么结果是偶数 +1:如果是一个奇数 ^ 1,那么结果是奇数 -1

  6. 《位运算技巧以及Leetcode的一些位运算题目》

    目录 技巧 练习位运算 [461. 汉明距离](https://leetcode-cn.com/problems/hamming-distance/) [190. 颠倒二进制位](https://le ...

  7. 位运算 位运算应用

    本页目录 位运算分为2个大类 位于 &(一0则0) 位或| (双0则0) 异或 ^(互异则1) 利用异或可实现一个小面试题,如何不添加变量,实现数据的替换 按位取反 ~ 左移 << ...

  8. 全面解读Math对象及位运算

    <p>本文转载自:<a href="https://segmentfault.com/a/1190000008786789" title="全面解读Ma ...

  9. 视频教程-让你事半功倍的12个Excel小技巧-Office/WPS

    让你事半功倍的12个Excel小技巧 Adobe平面设计与影视剪辑专家讲师.微软Office办公软件专家讲师.资深IT图书作者/策划人/出版人.深度/终身学习研究与实践者.Python全栈工程师/We ...

最新文章

  1. php 接口继承,详细对比php中类继承和接口继承
  2. 【Android】关于Android控件EditText的属性InputType的一些经验
  3. mysql自动生成日期序列号_mysql – 在一天内为实体生成唯一的序列号
  4. php接口和java接口_java和php接口的区别是什么
  5. MySQL-5.5.33主从复制
  6. POJ 1182 食物链(并查集+偏移向量)题解
  7. Tomcat中设置数据源和连接池
  8. 30秒Python轻松入门-目录
  9. 理解mysql 底层原理
  10. 夜神安卓模拟器安装xposed框架
  11. 数据预处理—8.属性归约之主成分分析(理论及python实现)
  12. Error running ‘x‘: Command line is too long. Shorten command line for x or also for Application
  13. 无人驾驶插秧机智能辅助系统_北斗年会 | 智慧农业:插秧“神器”大显身手——雷科防务致力于高精度无人驾驶插秧机前装应用...
  14. 解决ichat模块调用过程中——登录微信网页版失败的方法
  15. 移动边缘计算(MEC)
  16. NVIDIA Game Ready 显卡驱动517.48发布!为《守望先锋2》做好游戏准备
  17. RTF文件格式编码说明
  18. python中的异常、模块、文件
  19. g4560和二代i5_两款处理器奔腾G4560和i5-7400差距?
  20. linux添加定时任务报错 error renaming /var/spool/cron/#tmp.xxxxxxxx to /var/spool/

热门文章

  1. ubuntu安装jdk6
  2. CentOS更改yum源与更新系统
  3. 第十篇 JVM核心机制之JVM运行和类加载全过程(五)
  4. 深入css布局 (3)完结 — margin问题与格式化上下文
  5. Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
  6. 二叉树的常用操作(节点的后继节点)
  7. 【Java从0到架构师】Spring - 纯注解开发
  8. 强烈推荐!入门大数据分析必看的知识点总结,适合零基础学习
  9. 职称计算机 宜兴,关于报送2020年经济、石油化工工程、 电子信息工程和工艺美术高级专业技术资格评审材料的通知...
  10. 卡西欧计算机怎么传程序,卡西欧计算器程序传输软件fa-124的使用方法