异或、左移、右移到底该怎么用

518 阅读1分钟
异或、左移、右移到底该怎么用

1.友情链接

目录
文字版

屏幕前的大帅比大漂亮如果有帮助到你的话请顺手点个赞、加个收藏这对我真的很重要。别下次一定了,都不关注上哪下次一定。

2.算数运算符

2.1单目

  • 按位取反(~):二进制表示1变成0,0变成1。即用-1减去待取反的数即为按位取反的结果:-1-9=-10
  • 负号运算符(-):就是负数
  • 自增(++):++i表示先自己加1再赋值
  • 自减(--):--i表示先自己先减1再赋值

2.2双目

在A,B,n>0时,B为2^n可以使用其他操作符,但不要为了用而用,让代码变得难懂,除非做底层,否在不建议业务代码使用

  • 加(+):四则运算加
  • 减(-):四则运算减
  • 乘(*):可用A << n,四则运算乘
  • 除(/):A >> n,四则运算除
  • 取余(%):A&(B-1)

2.3三目

  • a>b?true:false

3.关系运算符

  • 等于符号(==):等于
  • 不等于符号(!=):不等于
  • 大于符号(>):大于
  • 小于符号(<):小于
  • 大于等于符号(>=):大于等于
  • 小于等于符号(<=):小于等于

4.位与逻辑

4.1位运算符

  • 与(&):逐位比较两个操作数中位都为1,结果才为1,否则结果为0
  • 非(~):逐位自己的运算符,0则为1,1则为0
  • 或(|):逐位比较两个操作数中只要有1个为1,结果为1,否则结果为0
  • 异或(^):逐位比较两个操作数,相同即为0,不同则为1。以动态规划算法,可以迅速判断是否仅仅是进行了交换,或者从偶数项里面找到唯一的奇数项等

4.2逻辑运算符

  • 与(&&):数学上的交集
  • 非(!):取反
  • 或(||):数学上的并集

5.赋值

  • 等于(=):将运算结果或者内存地址给到符号引用
  • 加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)、取余等于(%=):基本无应用场景、与等于(&=):基本无应用场景、异或等于(^=)、或等于(|=):基本无应用场景、左移等于(<<=):基本无应用场景、右移等于(>>=)

6.位移

  • 带符号左移<<: x<<y 相当于x*2y
  • 带符号右移>>: x>>y相当于x/2y
  • 无符号左移<<<
  • 无符号右移>>>