# 1. 位运算
在`Kotlin`的简单运算中基本和`Java`中类似,不同之处在于在`Kotlin`中没有像`Java`那样的那些位运算符号,而是定义了一些操作。
- 位与,`and(bits)`
- 位或,`or(bits)`
- 位非,`inv()`
- 位异或,`xor(bits)`
- 位有符号左移,`shl(bits)`
- 位有符号右移,`shr(bits)`
- 位无符号右移,`ushr(bits)`
下面来几个简单的案例:
~~~
fun main() {
var a = 3
println(a.and(1)) // 1
println(a.inv()) // -4
println(a.xor(2)) // 1
}
~~~
对于非运算这里简单计算下:
```
3:00000000 00000000 00000000 00000011
~:11111111 11111111 11111111 11111100 (补码)
-1:11111111 11111111 11111111 11111011
~:10000000 0000000 0000000 00000100
```
直观地可以看见其值位`-4`。
- Kotlin语言基础
- Kotlin的简介
- Kotlin的变量和常见数据类型
- Kotlin的区间
- Kotlin的位运算
- Kotlin的容器
- Kotlin类型检查
- Kotlin的空值处理
- Kotlin的函数
- Kotlin的类
- Kotlin的委托
- Kotlin的延迟加载
- Kotlin的异常
- Kotlin的Lambda表达式
- Kotlin的高阶函数
- Kotlin的标准库中的高阶函数
- Kotlin的泛型
- Kotlin的表达式
- Kotlin的解构
- Kotlin的运算符重载
- Kotlin语言中级
- Kotlin的扩展函数
- Kotlin的扩展属性
- Kotlin的infix关键字
- Kotlin的DSL
- Kotlin的一些注解(和Java互调用)
- Kotlin的lateinit和by lazy
- Kotlin的反射
- Kotlin的匿名接口
- 安卓中的Kotlin
- 数据库操作Room