位运算符最详细的解释(java)
生活随笔
收集整理的這篇文章主要介紹了
位运算符最详细的解释(java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機中的數據都以二進制的形式存在,其中第一位作為我們的符號位,與數據共享一個存儲空間,關于位運算符,嘔心瀝血,經過近兩個小時的在紙上畫寫,終于有所感悟!!!!!
位運算右操作數要完成模32的運算,右移位運算右操作數要完成模32的運算,右移位運算右操作數要完成模32的運算,重要的事情說三遍!!!
簡單來說也就是先將該數據轉化為int(32位)在進行運算
"<<":左移位運算符,以0補全低位
byte a = -1; //1111 1111 1111 1111 1111 1111 1111 1111System.out.println(a<<4); //1111 1111 1111 1111 1111 1111 1111 0000(補) //1000 0000 0000 0000 0000 0000 1001 0000(原)輸出結果:?
-16">>":帶符號右移位運算符,以符號為填充高位
byte a = -1; //1111 1111 1111 1111 1111 1111 1111 1111System.out.println(a>>4);//以符號為1填充高位1111 1111 1111 1111 1111 1111 1111 1111(補)//1000 0000 0000 0000 0000 0000 0000 0001(原)輸出結果:
-1">>>":無符號右移運算符,無視符號位,以0填充高位,無">>>"運算符的存在。
byte a = -1; //1111 1111 1111 1111 1111 1111 1111 1111System.out.println(a>>4);//以0填充高位0000 1111 1111 1111 1111 1111 1111 1111輸出結果:
268435455?
?
總結
以上是生活随笔為你收集整理的位运算符最详细的解释(java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做好长期奋斗的准备
- 下一篇: ArcMap10.2 选项(Option