Java中位運(yùn)算(移位、位與、或、異或、非) 的簡(jiǎn)單實(shí)例
public class Test {
public static void main(String[] args) {
// 1、左移( << )
// 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位補(bǔ)0://
// 0000 0000 0000 0000 0000 0000 0001 0100 換算成10進(jìn)制為20
System.out.println(5 << 2);// 運(yùn)行結(jié)果是20
// 2、右移( >> ) 高位補(bǔ)符號(hào)位
// 0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位補(bǔ)0:
// 0000 0000 0000 0000 0000 0000 0000 0001
System.out.println(5 >> 2);// 運(yùn)行結(jié)果是1
// 3、無(wú)符號(hào)右移( >>> ) 高位補(bǔ)0
// 例如 -5換算成二進(jìn)制后為:0101 取反加1為1011
// 1111 1111 1111 1111 1111 1111 1111 1011
// 我們分別對(duì)5進(jìn)行右移3位、 -5進(jìn)行右移3位和無(wú)符號(hào)右移3位:
System.out.println(5 >> 3);// 結(jié)果是0
System.out.println(-5 >> 3);// 結(jié)果是-1
System.out.println(-5 >>> 3);// 結(jié)果是536870911
// 4、位與( & )
// 位與:第一個(gè)操作數(shù)的的第n位于第二個(gè)操作數(shù)的第n位如果都是1,那么結(jié)果的第n為也為1,否則為0
System.out.println(5 & 3);// 結(jié)果為1
System.out.println(4 & 1);// 結(jié)果為0
// 5、位或( | )
// 第一個(gè)操作數(shù)的的第n位于第二個(gè)操作數(shù)的第n位 只要有一個(gè)是1,那么結(jié)果的第n為也為1,否則為0
System.out.println(5 | 3);// 結(jié)果為7
// 6、位異或( ^ )
// 第一個(gè)操作數(shù)的的第n位于第二個(gè)操作數(shù)的第n位 相反,那么結(jié)果的第n為也為1,否則為0
System.out.println(5 ^ 3);//結(jié)果為6
// 7、位非( ~ )
// 操作數(shù)的第n位為1,那么結(jié)果的第n位為0,反之。
System.out.println(~5);// 結(jié)果為-6
}
}
相關(guān)文章
Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP軟件本地窗口實(shí)現(xiàn)(5)
這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件,F(xiàn)TP軟件本地窗口的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03SpringBoot學(xué)習(xí)之全局異常處理設(shè)置(返回JSON)
本篇文章主要介紹了SpringBoot學(xué)習(xí)之全局異常處理設(shè)置(返回JSON),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02mybatis創(chuàng)建一個(gè)或多個(gè)新用戶(hù) insert 字段和表名不確定時(shí)動(dòng)態(tài)添加問(wèn)題
這篇文章主要介紹了mybatis創(chuàng)建一個(gè)或多個(gè)新用戶(hù) insert 字段和表名不確定時(shí)動(dòng)態(tài)添加問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Java在PowerPoint中添加上標(biāo)和下標(biāo)的實(shí)現(xiàn)方法
當(dāng)我們?cè)谘菔疚母逯刑砑由虡?biāo)、版權(quán)或其他符號(hào)時(shí),我們可能希望該符號(hào)出現(xiàn)在某個(gè)文本的上方或下方。在Microsoft PowerPoint中,我們可以通過(guò)對(duì)符號(hào)應(yīng)用上標(biāo)或下標(biāo)格式來(lái)實(shí)現(xiàn)這種效果,這篇文章主要介紹了Java在PowerPoint中添加上標(biāo)和下標(biāo),需要的朋友可以參考下2022-10-10SpringMVC?HttpMessageConverter報(bào)文信息轉(zhuǎn)換器
這篇文章主要為大家介紹了SpringMVC?HttpMessageConverter報(bào)文信息轉(zhuǎn)換器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Java8與Scala中的Lambda表達(dá)式深入講解
這篇文章主要給大家介紹了關(guān)于Java8與Scala中Lambda表達(dá)式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11java8 Instant 時(shí)間及轉(zhuǎn)換操作
這篇文章主要介紹了java8 Instant 時(shí)間及轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09javafx實(shí)現(xiàn)圖片3D翻轉(zhuǎn)效果方法實(shí)例
程序?qū)崿F(xiàn)思路: 在javafx中Node對(duì)象有一個(gè)effect屬性,可以用于實(shí)現(xiàn)各種特效。PerspectiveTransform特效可以使Node對(duì)象實(shí)現(xiàn)透視變換。因此我們可以通過(guò)計(jì)算透視變換中每個(gè)點(diǎn)的位置來(lái)實(shí)現(xiàn)3D翻轉(zhuǎn)特效。2013-04-04