美文网首页
位操作的常见算法

位操作的常见算法

作者: 无边小猪 | 来源:发表于2017-01-05 17:12 被阅读0次

一、异或^
1、交换两个数:
'''c
void Swap(int &a, int &b)
{
if (a != b)
{
a ^= b;
b ^= a;
a ^= b;
}
}
'''
2、判断奇偶:
'''c
if(a^(a-1)==1){//奇数}
else{//偶数}
'''
3、改变符号:按位取反再加一
4、取绝对值:第一位是1的按位取反再加一,第一位是0的就不用动了!
5、有奇数个数,其中只有一个数出现一次,其他都出现两次,求该数;或者有奇数个数,只有一个数出现奇数次,别的都出现偶数次,求该数。
答案:把所有的数^到一起结果就是该数。

二、位移 << >>
1、乘2
a<<1
2、除2(取地板)
a>>1

相关文章

  • 位操作的常见算法

    一、异或^1、交换两个数:'''cvoid Swap(int &a, int &b){if (a != b){a ...

  • 常见的算法操作

    1.字符串中 单词的首字母大写其他字母小写 titleCase("I'm a little tea pot");转...

  • java 算法题 - 面试中常见的位操作算法题

    前言 上一篇博客 聊一聊 Android 中巧妙的位操作 中,我们讲解了 java 中常用的位运算及常用应用场景,...

  • 算法经典面试题整理(java实现)

    以下从Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归 vs. 迭代,动态规划,位操作,...

  • Geo Hash

    工作需要,实现了一下Geo Hash算法。尽量直接使用位操作,比网上常见的字符串判断位值得写法效率应该高一点。TO...

  • jdk中数组排序方法解析

    众所周知,排序算法是一个非常常见的算法。排序操作是程序经常面对的操作。排序算法有很多种。就是太多种了,可能大家都不...

  • 算法复杂度速查表

    方便大家快速计算常见算法的时间和空间的大O复杂度 图例 数据结构操作 数组排序算法 图操作 堆操作 大O复杂度图表

  • 算法(12):位操作

    按位操作是真的复杂,且技巧性很高,特此专门开一篇,来简单讲解。 目录:算法:附录算法(1):递归算法(2):链表算...

  • all

    算法与数据结构 常见算法类型 排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、...

  • 【图】用图片告诉你Java中的位运算

    前言 ​ 虽然位运算在实际开发中并不常用,但是在各种算法中却常常见到它们的身影.因为是直接操作二进制...

网友评论

      本文标题:位操作的常见算法

      本文链接:https://www.haomeiwen.com/subject/utpzvttx.html