Java 按位运算符(,|,^,,)
生活随笔
收集整理的這篇文章主要介紹了
Java 按位运算符(,|,^,,)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
&(按位與)
定義:針對二進制,只要有一個為0,就為0。2 & 5 = 02的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 00000101|(按位或)
定義:針對二進制,只要有一個為1,就為1。2 | 5 = 72的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 00000101^(按位亦或)
定義:針對二進制,相同的為0,不同的為1。2 ^ 5 = 72的二進制:00000000 00000000 00000000 000000105的二進制:00000000 00000000 00000000 000001012 ^ 3 = 12的二進制:00000000 00000000 00000000 000000103的二進制:00000000 00000000 00000000 00000011~(按位非)
定義:按位取反運算符翻轉操作數的每一位,即0變成1,1變成0。~8 = -98的二進制:00000000 00000000 00000000 00000100~8的二進制:11111111 11111111 11111111 11110111因為高位是1,所以該數為負數。<font color ="#CC0000">負數的補碼是其絕對值的原碼取反,末尾再加1。</font>末尾減1得反碼:11111111 11111111 11111111 11110110將反碼取反:00000000 00000000 00000000 00001001 = 9<<(向左位移)
定義:針對二進制,轉換成二進制后向左移動3位,后面用0補齊。3 << 1 = 63的二進制:00000000 00000000 00000000 000000113左移后進制數:00000000 00000000 00000000 00000110>>(向右位移)
定義:針對二進制,轉換成二進制后向右移動3位。3 >> 1 = 13的二進制:00000000 00000000 00000000 000000113右移后進制數:00000000 00000000 00000000 00000001>>>(無符號右移)
定義:忽略符號位,空位都以0補齊。-1 >>> 1 = 2147483647-1的二進制(補碼表示法):11111111 11111111 11111111 11111111右移后:01111111 11111111 11111111 11111111總結
以上是生活随笔為你收集整理的Java 按位运算符(,|,^,,)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(80):按类型划分标签(inl
- 下一篇: Java中使用native2ascii工