使用邏輯與取出byte中的前4位和后4位

說起邏輯與,在Java中有兩種運算符,分別是&和&&.
對于這兩種與,在實際應(yīng)用有所不同,&用于對數(shù)字進(jìn)行按位與,而&&用于對兩個布爾表達(dá)式進(jìn)行與操作.
由上一句話可知,&用于兩個數(shù),如果是兩個表達(dá)式,必須先計算出兩個表達(dá)式.
而&&用于兩個布爾表達(dá)式,如果第一個表達(dá)式為假,則不計算第二個布爾表達(dá)式.這張現(xiàn)象稱為 邏輯短路 .
在實際應(yīng)用中,&&常出現(xiàn)在條件判斷語句中,而&則用取一串二進(jìn)制數(shù)中的某些數(shù).
下面,我們將利用&取出一個byte類型變量中的前4位以及后4位,并用0~F(十六進(jìn)制)表示.

假設(shè):這個變量的值為 195 11000011 則前4位為1100 0x0A 后四位為0011 0x03

/*
 *取一個字節(jié)中的前4位與后四位
*/
class Get{
    public static void main(String args[]){
    byte number =(byte)195;
    System.out.println(get(number));
    }
    public static String get(byte number){
    // 00001111用于取出后四位
    byte num=15;
    char[ ] arr=new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int behind=number#
    int front=(number>>4&num);  //將高位移到低位再取值
    return "前四位:"+arr[front]+" 后四位:"+arr[behind];
    }
}

結(jié)果:


前四位:C 后四位:3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1986年元月下旬有一次與《紅樓夢》有關(guān)、也與“紅學(xué)”界有關(guān)的盛會,在北京舉行。我已經(jīng)接到中國社會科學(xué)院文學(xué)所的請...
    梁宋君閱讀 664評論 0 0
  • 2017年 5月 19日 星期五 陽光燦爛 大家好,我是236號星寶寶,我正在參加小牛媽媽日記星球第五期蛻變之旅,...
    新加坡秀英閱讀 515評論 0 1
  • 孩子總是看到自己外貌的缺點,經(jīng)常抱怨;孩子經(jīng)?;貋碚f**同學(xué)嘲笑我的**行為;孩子很想?yún)⑴c舞臺表演,但是總因情緒緊...
    再飛的鷹閱讀 784評論 0 1

友情鏈接更多精彩內(nèi)容