🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 位运算 位运算只能用于整数类型的变量,且需当它们拥有等长位模式时。 %b 是用于表示位的格式化标识符。 二元运算符 ### 按位与 &: 1 & 1 -> 1 1 & 0 -> 0 0 & 1 -> 0 0 & 0 -> 0 ### 按位或 |: 1 | 1 -> 1 1 | 0 -> 1 0 | 1 -> 1 0 | 0 -> 0 ### 按位异或 ^: #### 对应位置上的值根据以下规则组合: 1 ^ 1 -> 0 1 ^ 0 -> 1 0 ^ 1 -> 1 0 ^ 0 -> 0 ### 位清除 &^:将指定位置上的值设置为 0。 ## 一元运算符 ### 按位补足 ^: 该运算符与异或运算符一同使用,即 m^x,对于无符号 x 使用“全部位设置为 1”,对于有符号 x 时使用 m=-1。例如: ^2 = ^10 = -01 ^ 10 = -11 ### 位左移 <<: 用法:bitP << n。 bitP 的位向左移动 n 位,右侧空白部分使用 0 填充;如果 n 等于 2,则结果是 2 的相应倍数,即 2 的 n 次方。例如: 1 << 10 // 等于 1 KB 1 << 20 // 等于 1 MB 1 << 30 // 等于 1 GB ### 位右移 >>: 用法:bitP >> n。 bitP 的位向右移动 n 位,左侧空白部分使用 0 填充;如果 n 等于 2,则结果是当前值除以 2 的 n 次方。 ### 运算符优先级 ### 逻辑运算符 Go 中拥有以下逻辑运算符:==、!=(第 4.5.1 节)、<、<=、>、>=。 它们之所以被称为逻辑运算符是因为它们的运算结果总是为布尔值 bool。例如: b3:= 10 > 5 // b3 is true ### 算术运算符 常见可用于整数和浮点数的二元运算符有 +、-、* 和 /。 ### 优先级 运算符 7 ^ ! 6 * / % << >> & &^ 5 + - | ^ 4 == != < <= >= > 3 <- 2 && 1 ||