最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java<<、>>、>>>移位操作方法

 更新時(shí)間:2017年06月19日 10:08:03   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇java<<、>>、>>>移位操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

<<,有符號(hào)左移位,將運(yùn)算數(shù)的二進(jìn)制整體左移指定位數(shù),低位用0補(bǔ)齊。

int leftShift = 10;
System.out.println("十進(jìn)制:" + leftShift + ", 二進(jìn)制:" + Integer.toBinaryString(leftShift));
int newLeftShift = letfShift << 2;
System.out.println("左移2位后十進(jìn)制:" + newLeftShift + ", 左移2位后二進(jìn)制" + Integer.toBinaryString(newLeftShift)); //正整數(shù)x左移n位后的十進(jìn)制結(jié)果,x = x * 2^n

以上是正整數(shù),運(yùn)算結(jié)果如下。

接下來(lái)看看將負(fù)數(shù)進(jìn)行左移2位操作是什么情況,運(yùn)算結(jié)果如下。

為什么會(huì)-10的二進(jìn)制會(huì)出現(xiàn)這么多的1呢?仔細(xì)數(shù)一下剛好有32位。首先需要了解的是Java負(fù)數(shù)存儲(chǔ)是以補(bǔ)碼形式存儲(chǔ)的(補(bǔ)碼=反碼+1),10的二進(jìn)制是1010,它的反碼就是0101,再加1就是補(bǔ)碼0110。那為什么會(huì)多出來(lái)那么多1呢?這是因?yàn)閕nt型在Java中占8個(gè)字節(jié),剛好32位,10原碼的高位全是0,它的反碼自然高位就變成了1。所以整體左移2位,低位以0補(bǔ)齊,最后的運(yùn)算結(jié)果就是x = (|x| + 2^n)。

>>,有符號(hào)右移位,將運(yùn)算數(shù)的二進(jìn)制整體右移指定位數(shù),整數(shù)高位用0補(bǔ)齊,負(fù)數(shù)高位用1補(bǔ)齊(保持負(fù)數(shù)符號(hào)不變)。

int rightShift = 10;
System.out.println("十進(jìn)制:" + rightShift + ", 二進(jìn)制:" + Integer.toBinaryString(rightShift));
int newRightShift = rightShift >> 2;
System.out.println("右移2位后十進(jìn)制:" + newRightShift + ", 右移2位后二進(jìn)制" + Integer.toBinaryString(newRightShift));  //右移n位后的運(yùn)算數(shù)x十進(jìn)制結(jié)果,x = x / 2

以上是正整數(shù),運(yùn)算結(jié)果如下。

接下來(lái)看看將負(fù)數(shù)進(jìn)行右移2位操作是什么情況,運(yùn)算結(jié)果如下。

負(fù)數(shù)的有符號(hào)右移基本原理還是和左移相同,不同的是結(jié)果的計(jì)算,因?yàn)檫@是有符號(hào)的右移,一直右移最后的結(jié)果就會(huì)是-1。歸納起來(lái)就是,如果運(yùn)算數(shù)是偶數(shù),那么它的運(yùn)算結(jié)果就是 x = -(|x| / 2),如果運(yùn)算數(shù)是奇數(shù),那么它的運(yùn)算結(jié)果就是 x = -(|x| / 2) - 1。

>>>,無(wú)符號(hào)右移位,不管正數(shù)還是負(fù)數(shù),高位都用0補(bǔ)齊(忽略符號(hào)位)

先看正數(shù),正數(shù)的>>>無(wú)符號(hào)右移位和>>有符號(hào)右移位計(jì)算結(jié)果相同

int rightShift = 10;
System.out.println("十進(jìn)制:" + rightShift + ", 二進(jìn)制:" + Integer.toBinaryString(rightShift));
int newRightShift = rightShift >>> 2;
System.out.println("右移2位后十進(jìn)制:" + newRightShift + ", 右移2位后二進(jìn)制" + Integer.toBinaryString(newRightShift));  //右移n位后的云算數(shù)x十進(jìn)制結(jié)果,x = x / 2

以上是正整數(shù),運(yùn)算結(jié)果如下。

接下來(lái)看負(fù)整數(shù),運(yùn)算結(jié)果如下。

雖然無(wú)符號(hào)移位后的二進(jìn)制和有符號(hào)移位后的二進(jìn)制看起來(lái)相同的,但結(jié)果大相徑庭,記住有符號(hào)右移位操作,實(shí)際上是忽略符號(hào)的算術(shù)操作,即高位統(tǒng)一補(bǔ)0。

以上這篇java<<、>>、>>>移位操作方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springcloud?如何解決微服務(wù)之間token傳遞問題

    springcloud?如何解決微服務(wù)之間token傳遞問題

    這篇文章主要介紹了springcloud?如何解決微服務(wù)之間token傳遞問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot實(shí)現(xiàn)分庫(kù)分表

    SpringBoot實(shí)現(xiàn)分庫(kù)分表

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)分庫(kù)分表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java實(shí)現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

    Java實(shí)現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

    本文主要介紹了Java 二維數(shù)組和稀疏數(shù)組轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • IntelliJ IDEA使用教程從入門到上癮(2019圖文版)

    IntelliJ IDEA使用教程從入門到上癮(2019圖文版)

    這篇文章主要介紹了IntelliJ IDEA使用教程從入門到上癮(2019圖文版),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-12-12
  • SpringBoot 配合 SpringSecurity 實(shí)現(xiàn)自動(dòng)登錄功能的代碼

    SpringBoot 配合 SpringSecurity 實(shí)現(xiàn)自動(dòng)登錄功能的代碼

    這篇文章主要介紹了SpringBoot 配合 SpringSecurity 實(shí)現(xiàn)自動(dòng)登錄功能的代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot配置文件高級(jí)用法實(shí)戰(zhàn)分享

    SpringBoot配置文件高級(jí)用法實(shí)戰(zhàn)分享

    Spring Boot配置文件的優(yōu)先級(jí)是一個(gè)重要的概念,它決定了當(dāng)存在多個(gè)配置文件時(shí),哪個(gè)配置文件中的配置將被優(yōu)先采用,本文給大家介紹了SpringBoot配置文件高級(jí)用法實(shí)戰(zhàn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • Spring中Eureka的自我保護(hù)詳解

    Spring中Eureka的自我保護(hù)詳解

    這篇文章主要介紹了Spring中Eureka的自我保護(hù)詳解,當(dāng)Eureka Server節(jié)點(diǎn)在短時(shí)間內(nèi)丟失過多客戶端時(shí)(可能發(fā)生了網(wǎng)絡(luò)分區(qū)故障),那么這個(gè)節(jié)點(diǎn)就會(huì)進(jìn)入自我保護(hù)模式,一旦進(jìn)入該模式,Eureka Server就會(huì)保護(hù)服務(wù)注冊(cè)表中的信息,需要的朋友可以參考下
    2023-11-11
  • 關(guān)于slf4j_log4j2源碼學(xué)習(xí)心得

    關(guān)于slf4j_log4j2源碼學(xué)習(xí)心得

    這篇文章主要介紹了slf4j_log4j2源碼學(xué)習(xí)心得,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list

    SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list

    這篇文章主要介紹了SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • cookie+mybatis+servlet實(shí)現(xiàn)免登錄時(shí)長(zhǎng)兩天半的整體流程

    cookie+mybatis+servlet實(shí)現(xiàn)免登錄時(shí)長(zhǎng)兩天半的整體流程

    這篇文章主要介紹了cookie+mybatis+servlet實(shí)現(xiàn)免登錄時(shí)長(zhǎng)兩天半,主要用到的技術(shù)有session、cookie、轉(zhuǎn)發(fā)、重定向、filter、和servlet,最重要的還是具體的來(lái)運(yùn)用它們?cè)谇岸隧?yè)面真正的搭建出一個(gè)應(yīng)用,通過這個(gè)練習(xí),對(duì)我們所學(xué)的web知識(shí)做一個(gè)整合,需要的朋友可以參考下
    2022-10-10

最新評(píng)論

济南市| 鱼台县| 新乡市| 无极县| 织金县| 蒙城县| 滦南县| 上饶市| 新邵县| 志丹县| 乐清市| 潼关县| 定襄县| 砀山县| 剑川县| 辉南县| 渝中区| 海原县| 牡丹江市| 泾源县| 景东| 大安市| 五台县| 壶关县| 敦化市| 伊春市| 乌拉特中旗| 梁河县| 石屏县| 民勤县| 文昌市| 衡山县| 盘山县| 彰化市| 靖西县| 通山县| 哈尔滨市| 隆尧县| 甘谷县| 平邑县| 阿克陶县|