摘要:位運(yùn)算符位運(yùn)算指的是可以按照二進(jìn)制,八進(jìn)制,十六進(jìn)制進(jìn)行數(shù)據(jù)處理。在位運(yùn)算之中,可以采用數(shù)據(jù)移位的處理方式實(shí)現(xiàn)一些數(shù)據(jù)的內(nèi)容變化。位運(yùn)算運(yùn)算的兩個數(shù)據(jù)位,如果有一個位為零結(jié)果就是零,全為時結(jié)果才是。
位運(yùn)算符
位運(yùn)算指的是可以按照二進(jìn)制,八進(jìn)制,十六進(jìn)制進(jìn)行數(shù)據(jù)處理。基本上考慮最多的還是二進(jìn)制。在位運(yùn)算之中,可以采用數(shù)據(jù)移位的處理方式實(shí)現(xiàn)一些數(shù)據(jù)的內(nèi)容變化。
位運(yùn)算實(shí)現(xiàn)的關(guān)鍵問題在于要進(jìn)行十進(jìn)制和二進(jìn)制的轉(zhuǎn)換,這種轉(zhuǎn)換的原則是數(shù)據(jù)除2取余,一直除到余0為止,然后按照倒序排列。
知道了二進(jìn)制的數(shù)據(jù)變化之后,我們就可以利用&(有一個0與的結(jié)果就是0),|(有一個1或的結(jié)果就是1)進(jìn)行位的運(yùn)算
public class Hello { public static void main(String args[]) { int numA = 19; int numB = 5; System.out.println(numA & numB); } } 結(jié)果是1
19的二進(jìn)制與5的二進(jìn)制數(shù)進(jìn)行與運(yùn)算 public class Hello { public static void main(String args[]) { int numA = 19; int numB = 5; System.out.println(numA | numB); } } 結(jié)果是23
位運(yùn)算最大的特點(diǎn)是可以進(jìn)行移位的處理
public class Hello { public static void main(String args[]) { int num = 2; System.out.println(num << 2); } } 2的二進(jìn)制向左移位,結(jié)果是8; 2的二進(jìn)制 00000000 00000000 00000000 00000010; 移位處理 00000000 00000000 00000000 00001000;
八進(jìn)制處理:
public class Hello { public static void main(String args[]) { int num = 023; System.out.println(num); } } 結(jié)果是19
十六進(jìn)制用0x。
面試題:請解釋&&和&,|和||的區(qū)別?
在邏輯運(yùn)算之中:
1.&&:表示邏輯與運(yùn)算,如果前面有若干個條件返回了false,那么后面的條件將不再判斷。最后結(jié)果就是false。
2.&:所有的判斷條件都要執(zhí)行。
3.||:表示邏輯或判斷,若干個判斷條件如果前面有條件返回了true,那么后續(xù)條件不再判斷。最終結(jié)果就是true。
4.|:所有的條件都要判斷。
位運(yùn)算
&:運(yùn)算的兩個數(shù)據(jù)位,如果有一個位為零結(jié)果就是零,全為1時結(jié)果才是1。
|:運(yùn)算的兩個數(shù)據(jù)位,如果有一個位為1結(jié)果就是1。
歡迎加入學(xué)習(xí)交流群569772982,大家一起學(xué)習(xí)交流。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67675.html
摘要:基本數(shù)據(jù)類型布爾類型或,占用位。強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換的語法格式是,強(qiáng)制類型轉(zhuǎn)換的運(yùn)算符是圓括號。無符號右移運(yùn)算符。對于低于類型如和的操作數(shù)總是先自動類型轉(zhuǎn)換為類型后再移位。 注釋 單行注釋//......多行注釋/ .../文檔注釋/*.../ 文檔注釋位于注釋內(nèi)容上一行 標(biāo)識符和關(guān)鍵字 分隔符 分號:作為語句的分隔,每個Java語句必須使用分號作為結(jié)尾?;ɡㄌ枺憾x一個代碼...
摘要:在學(xué)習(xí)源碼中,發(fā)現(xiàn)有大量使用位運(yùn)算符,這樣做的目的是為了節(jié)約內(nèi)存開銷和加快計(jì)算效率。位運(yùn)算符,這個位代表這什么位二進(jìn)制位簡稱位,是二進(jìn)制記數(shù)系統(tǒng)中表示小于的整數(shù)的符號,一般用或表示,是具有相等概率的兩種狀態(tài)中的一種。 在學(xué)習(xí)源碼中,發(fā)現(xiàn)有大量使用位運(yùn)算符,這樣做的目的是為了節(jié)約內(nèi)存開銷和加快計(jì)算效率。 位運(yùn)算符,這個位代表這什么? 位:二進(jìn)制位簡稱位,是二進(jìn)制記數(shù)系統(tǒng)中表示小于2的整數(shù)...
摘要:反碼正數(shù)的反碼就是本身。負(fù)數(shù)的反碼是二進(jìn)制保留符號位。作用是對運(yùn)算符兩側(cè)以二進(jìn)制表達(dá)的操作符按位分別進(jìn)行與運(yùn)算。則完整的運(yùn)算式為無符號右移一位。 java中對二進(jìn)制的操作符 &、|、^、~、>>、>幾個位操作符。不管是初始值是依照何種進(jìn)制,都會換算成二進(jìn)制進(jìn)行位操作。接下來對這幾種操作符進(jìn)行一下簡單的解說。 先說一下基礎(chǔ)知識: 原碼 就是當(dāng)前數(shù)字的二進(jìn)制表現(xiàn)形式,如-1的原碼是1000...
摘要:所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示。以可以大寫也可以小寫開頭版本可以表示二進(jìn)制了八進(jìn)制的數(shù)據(jù)表現(xiàn)形式由組成。結(jié)果把系數(shù)基數(shù)的權(quán)次冪相加即可。因?yàn)檎Z言采用的是碼來編碼的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序執(zhí)行的過程中其值不可以發(fā)生改變 B:Java中常量的分類 字面值常量 自定義常量(面向?qū)ο蟛糠种v) C:字面值常量的...
摘要:位運(yùn)算符位運(yùn)算符與邏輯運(yùn)算符類似,但是位運(yùn)算符是對每一位進(jìn)行計(jì)算。上面說到的按位取反加,就可以寫成移位運(yùn)算符右移與無符號右移相似,是將整數(shù)所有的位向右移動位,拋棄個低位??粘鰜淼牡臀挥玫淖罡呶恢笛a(bǔ)全。 定點(diǎn)數(shù)據(jù)再計(jì)算機(jī)中的表示方法 例如一個整數(shù)類型(int)的數(shù)據(jù)在內(nèi)存中占用了32位。通俗的講就是在內(nèi)存中挖了32個坑,每一個坑里可以放一個0或者1. 00000000 11111111 ...
閱讀 2333·2021-11-24 10:33
閱讀 1396·2019-08-30 15:43
閱讀 3289·2019-08-29 17:24
閱讀 3496·2019-08-29 14:21
閱讀 2235·2019-08-29 13:59
閱讀 1749·2019-08-29 11:12
閱讀 2821·2019-08-28 18:00
閱讀 1865·2019-08-26 12:17