# 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