首页 > 其他分享 >[学习笔记] 位运算

[学习笔记] 位运算

时间:2023-06-16 21:11:57浏览次数:46  
标签:语法 运算 要加 笔记 学习 按位 用位 计算方法

〇、基础位运算

与运算 / AND

语法:a & b

计算方法:按位计算 AND。

运算:1 & 1 = 1, 1 & 0 = 0, 0 & 1 = 0, 0 & 0 = 0

或运算 / OR

语法:a | b

计算方法:按位计算 OR。

运算:1 | 1 = 1, 1 | 0 = 1, 0 | 1 = 1, 0 | 0 = 0

异或运算 / XOR

语法:a ^ b

计算方法:按位计算 XOR。

运算:1 ^ 1 = 0, 1 ^ 0 = 1, 0 ^ 1 = 1, 0 ^ 0 = 0

取反运算

语法:~a

计算方法:将每一位 1 变成 0,0 变成 1。

左移运算

语法:a << b

计算方法:\(a \times 2 ^ b \to a\)。

右移运算

语法:a >> b

计算方法:\(\displaystyle \left\lfloor\frac{a}{2^b}\right\rfloor \to a\)。

注:>> 是向下取整。

复合赋值运算

语法:a <<= b, a >>= b, a |= b, a &= b, a ^= b

小问题

用位运算一定要加括号!!!

用位运算一定要加括号!!!

用位运算一定要加括号!!!

(别问我为什么这么写)

一、常见技巧

image

image

二、例题

洛谷 P1225 黑白棋游戏

https://www.luogu.com.cn/problem/P1225

标签:语法,运算,要加,笔记,学习,按位,用位,计算方法
From: https://www.cnblogs.com/RB16B/p/17486512.html

相关文章

  • python入门学习之《python编程快速上手》
    #《python编程快速上手》1-9章第1-2章:python基础和控制流#python严格区分大小写;#代码行的缩进很重要,一般用4个空格。大多数情况下,代码行缩进告诉python它属于哪个代码块。#python下标从0开始;#行末使用续行字符\,将一行指令写成多行。在[],{},或()中的多行语句,不需要使用反斜......
  • 算法学习笔记(25): 矩阵树定理
    矩阵树定理本文不作为教学向文章。比较好的文章参考:矩阵树-定理以及凯莱公式【学习笔记】矩阵树定理(Matrix-Tree)_繁凡さん的博客-CSDN博客矩阵树定理入土-ixRic的博客-洛谷博客对于无向图无向图中应该是矩阵树定理的常用场景。无向图的矩阵树定理讲的是:......
  • 【React工作记录一百零八】前端小知识点扫盲笔记记录9
    前言我是歌谣放弃很容易但是坚持一定很酷微信公众号关注前端小歌谣带你进入前端巅峰交流群今天继续对前端知识的小结如何截取字符串<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • 【React工作记录一百零九】前端小知识点扫盲笔记记录10
    前言我是歌谣放弃很容易但是坚持一定很酷微信公众号关注前端小歌谣带你进入前端巅峰交流群今天继续对前端知识的小结对称数<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"/> <metahttp-equiv="X-UA-Compatible"content="IE=edge"/>......
  • 学习笔记之Zookeeper内部原理解析
    1.1节点类型1.2Stat结构体(1)czxid-创建节点的事务zxid每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。(2)ctime-znode被创建的毫秒数(从19......
  • PAT甲级笔记
    第一次刷题笔记如果对数组进行sort排序:sort(a,a+n,cmp1);如果对vectorv或者字符串v进行sort排序:sort(v.begin(),v.end(),cmp1);辗转相除法求最大公约数:1 intgcd(inta,intb){2 returnb==0?a:gcd(b,a%b);3 }#definemax(a,b)a逗号后面不要加空......
  • 小白学习应用构建分享-参照用法
     什么是参照?只看名词,不太好理解,我们看下图,是不是一看就明白了,参照就是一份输入参考,当用户进行输入时,可以从已有数据中进行选择。怎么创建参照?假设业务场景是一张采购单,其中一个字段是【物料品牌】,我们需要为【物料品牌】创建一个参照。2.1在业务对象中新增【品牌】业......
  • ENVI深度学习2.1新特性
    1.TensorBoard更新ENVI深度学习设置变化在此版本中,TensorBoard在像素分割和对象检测训练开始时自动启动,并报告详细指标。通过此更改,以下设置已从File>Preferences>DeepLearning中删除:ComputeTrainingMetricsDisplayTensorBoardDuringTraining指标更新E......
  • 「学习笔记」组合数学
    本文部分内容来自\(\texttt{OI-Wiki}\)。加法&乘法原理加法原理完成一个工程可以有\(n\)类办法,\(a_i(1\lei\len)\)代表第\(i\)类方法的数目。那么完成这件事共有\(S=a_1+a_2+\cdots+a_n\)种不同的方法。乘法原理完成一个工程需要分\(n\)个步骤,\(a_i(1\le......
  • shell 脚本学习
     shell通配符 3、通配符和正则表达式比较(1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。(2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一......