算法模版:位运算

简介: 算法模版:位运算

前言


唤我沈七就好啦。


&

按位与
如果两个相应的二进制位都为1,则该位的结果值为1,否则为0


|

按位或
两个相应的二进制位中只要有一个为1,该位的结果值为1


^

按位异或
若参加运算的两个二进制位值相同则为0,否则为1


~

取反
~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1


<<

左移
用来将一个数的各二进制位全部左移N位,右补0


>>

右移
将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0


应用


1.判断奇偶


只需要判断二进制位末尾数字

如果是 1 的话,代表是奇数,如果是 0 则代表是偶数,


if(n & 1 == 1){
    // n 是个奇数。}


2.交换两个数


x = x ^ y // (1)

y = x ^ y // (2)

x = x ^ y // (3)


3.求n的第k位数字:


n >> k & 1


4.返回n的最后一位1:


lowbit(n) = n & -n



相关文章
|
6月前
|
算法
算法思想总结:位运算
算法思想总结:位运算
|
6月前
|
机器学习/深度学习 存储 算法
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
|
算法
基础算法:位运算
基础算法:位运算
54 0
|
3月前
|
算法
【算法】位运算算法——消失的两个数字(困难)
【算法】位运算算法——消失的两个数字(困难)
|
3月前
|
算法
【算法】位运算算法——只出现一次的数字Ⅱ
【算法】位运算算法——只出现一次的数字Ⅱ
|
3月前
|
算法
【算法】位运算算法——判断字符是否唯一
【算法】位运算算法——判断字符是否唯一
|
3月前
|
算法
【算法】位运算算法——两整数之和
【算法】位运算算法——两整数之和
|
3月前
|
算法
【算法】位运算算法——丢失的数字
【算法】位运算算法——丢失的数字
|
3月前
|
算法
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
算法】位运算——常见位运算基础操作总结
|
5月前
|
存储 自然语言处理 算法
位运算入门及简单算法题的应用
位运算入门及简单算法题的应用
48 1