欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java二進(jìn)制運(yùn)算基礎(chǔ)知識(shí)點(diǎn)詳解

 更新時(shí)間:2019年08月04日 14:40:30   作者:JoahYau  
在本文里小編給大家分享了關(guān)于java二進(jìn)制運(yùn)算基礎(chǔ)知識(shí)點(diǎn)以及實(shí)例代碼內(nèi)容,需要的朋友們參考學(xué)習(xí)下。

一、二進(jìn)制位運(yùn)算

1. 按位與(&)

位運(yùn)算實(shí)質(zhì)是將參與運(yùn)算的數(shù)字轉(zhuǎn)換為二進(jìn)制,而后逐位對(duì)應(yīng)進(jìn)行運(yùn)算。

按位與運(yùn)算為:兩位全為1,結(jié)果為1,即1&1=1,1&0=0,0&1=0,0&0=0。

例如51 & 5 -> 00110011 & 00000101 = 00000001 -> 51 & 5 = 1

特殊用法:

(1)與0相與可清零。

(2)與1相與可保留原值,可從一個(gè)數(shù)中取某些位。例如需要取10101110中的低四位,10101110 & 00001111 = 00001110,即得到所需結(jié)果。

2. 按位或(|)

兩位只要有一位為1,結(jié)果則為1,即1|1=1,1|0=1,0|1=1,0|0=0。

特殊用法:

(1)與0相或可保留原值。

(2)與1相或可將對(duì)應(yīng)位置1。例如,將X=10100000的低四位置1,使X | 00001111 = 10101111即可。

3. 異或運(yùn)算(^)

兩位為“異”,即一位為1一位為0,則結(jié)果為1,否則為0。即1^1=1,1^0=0,0^1=0,0^0=1。

特殊用法:

(1)使指定位翻轉(zhuǎn):找一個(gè)數(shù),對(duì)應(yīng)X要翻轉(zhuǎn)的各位為1,其余為0,使其與X進(jìn)行異或運(yùn)算即可。例如,X=10101110,使低四位翻轉(zhuǎn),X ^ 00001111 = 10100001。

(2)與0相異或保留原值。例如X ^ 00000000 = 10101110。

(3)交換兩變量的值。(比借助容器法、加減法效率高)原理:一個(gè)數(shù)對(duì)同一個(gè)數(shù)連續(xù)兩次進(jìn)行異或運(yùn)算,結(jié)果與這個(gè)數(shù)相等。

因此,交換方法為:A = A ^ B,B = A ^ B,A = A ^ B。

4. 取反(~)

將一個(gè)數(shù)按位取反,即~ 0 = 1,~ 1 = 0。

5. 左移(<<)

將一個(gè)數(shù)左移x位,即左邊丟棄x位,右邊用0補(bǔ)x位。例:11100111 << 2 = 10011100。

拓展:

  • ==原碼==:一個(gè)整數(shù)按照絕對(duì)值大小轉(zhuǎn)換為二進(jìn)制即為原碼;
  • ==反碼==:將二進(jìn)制數(shù)按位取反,得到的即為反碼;
  • ==補(bǔ)碼==:反碼加1即為補(bǔ)碼。
  • ==由于計(jì)算機(jī)底層硬件的限制,負(fù)數(shù)均使用補(bǔ)碼表示。==

若左移時(shí)舍棄的高位全為0,則每左移1位,相當(dāng)于該數(shù)十進(jìn)制時(shí)乘一次2。

例:11(1011) << 2 = 44(11表示為1011時(shí)實(shí)際上不完整,若計(jì)算機(jī)中規(guī)定整型的大小為32bit,則11的完整二進(jìn)制形式為00000000 00000000 0000000 00001011)

6. 右移(>>)

將一個(gè)數(shù)右移若干位,右邊舍棄,正數(shù)左邊補(bǔ)0,負(fù)數(shù)左邊補(bǔ)1。每右移一位,相當(dāng)于除以一次2。

例:4 >> 2 = 1,-14 >> 2 = -4。

7. 無(wú)符號(hào)右移(>>>)

將一個(gè)數(shù)右移若干位,左邊補(bǔ)0,右邊舍棄。

例:-14 >>> 2 = (11111111 11111111 11111111 11110010) >>> 2 = (00111111 11111111 11111111 11111100) = 1073741820

二、Java內(nèi)置的進(jìn)制轉(zhuǎn)換

用途 方法
十進(jìn)制轉(zhuǎn)成十六進(jìn)制 Integer.toHexString(int i)
十進(jìn)制轉(zhuǎn)成八進(jìn)制 Integer.toOctalString(int i)
十進(jìn)制轉(zhuǎn)成二進(jìn)制 Integer.toBinaryString(int i)
十六進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.valueOf("FFFF", 16).toString()
八進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.valueOf("2234", 8).toString()
二進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.valueOf("0110", 2).toString()

感謝大家的閱讀和對(duì)腳本之家的支持。

相關(guān)文章

  • Java hashCode() 方法詳細(xì)解讀

    Java hashCode() 方法詳細(xì)解讀

    Java.lang.Object 有一個(gè)hashCode()和一個(gè)equals()方法,這兩個(gè)方法在軟件設(shè)計(jì)中扮演著舉足輕重的角色,本文對(duì)hashCode()方法深入理解,希望能幫助大家
    2016-07-07
  • java排序算法之選擇排序詳解

    java排序算法之選擇排序詳解

    這篇文章主要為大家詳細(xì)介紹了java排序算法之選擇排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • java安全編碼指南之:表達(dá)式規(guī)則說(shuō)明

    java安全編碼指南之:表達(dá)式規(guī)則說(shuō)明

    這篇文章主要介紹了java安全編碼指南之:表達(dá)式規(guī)則說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Java編程實(shí)現(xiàn)獲取當(dāng)前代碼行行號(hào)的方法示例

    Java編程實(shí)現(xiàn)獲取當(dāng)前代碼行行號(hào)的方法示例

    這篇文章主要介紹了Java編程實(shí)現(xiàn)獲取當(dāng)前代碼行行號(hào)的方法,結(jié)合實(shí)例形式分析了java基于StackTraceElement對(duì)象實(shí)現(xiàn)獲取代碼行號(hào)的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Java8 Stream Collectors收集器使用方法解析

    Java8 Stream Collectors收集器使用方法解析

    這篇文章主要介紹了Java8 Stream Collectors收集器使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • mybatis中的多重if?條件判斷

    mybatis中的多重if?條件判斷

    這篇文章主要介紹了mybatis中的多重if?條件判斷,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java之使用多線程代替for循環(huán)(解決主線程提前結(jié)束問(wèn)題)

    java之使用多線程代替for循環(huán)(解決主線程提前結(jié)束問(wèn)題)

    這篇文章主要介紹了java之使用多線程代替for循環(huán)(解決主線程提前結(jié)束問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解Spring中的Transactional屬性

    詳解Spring中的Transactional屬性

    今天我在寫(xiě)代碼的時(shí)候,看到了一個(gè)注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,這個(gè)注解的用法,,需要的朋友可以參考下
    2021-05-05
  • Java上傳下載文件并實(shí)現(xiàn)加密解密

    Java上傳下載文件并實(shí)現(xiàn)加密解密

    這篇文章主要介紹了Java上傳下載文件并實(shí)現(xiàn)加密解密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot整合FastJson過(guò)程解析

    SpringBoot整合FastJson過(guò)程解析

    這篇文章主要介紹了SpringBoot整合FastJson過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論