文章責編:lipeng566
看了本文的網(wǎng)友還看了學歷| 高考 中考 考研 自考 成考 外語| 四六級 職稱英語 商務英語 公共英語 資格| 公務員 報關(guān)員 銀行 證券 司法 導游 教師 計算機| 等考 軟考
工程|一建 二建 造價師 監(jiān)理師 咨詢師 安全師 結(jié)構(gòu)師 估價師 造價員 會計| 會計證 會計職稱 注會 經(jīng)濟師 稅務師 醫(yī)學| 衛(wèi)生資格 醫(yī)師 藥師 [更多]
3.4位運算符
位運算符用來對二進制位進行操作,Java中提供了如下表所示的位運算符:
位運算符中,除~以外,其余均為二元運算符。
操作數(shù)只能為整型和字符型數(shù)據(jù)。
3.4.1補碼
Java使用補碼來表示二進制數(shù),在補碼表示中,最高位為符號位,正數(shù)的符號位為0,負數(shù)為1。補碼的規(guī)定如下:
對正數(shù)來說,最高位為0,其余各位代表數(shù)值本身(以二進制表示),如+42的補碼為00101010。
對負數(shù)而言,把該數(shù)絕對值的補碼按位取反,然后對整個數(shù)加1,即得該數(shù)的補碼。如-42的補碼為11010110(00101010按位取反11010101+1=11010110)
用補碼來表示數(shù),0的補碼是唯一的,都為00000000。(而在原碼,反碼表示中,+0和-0的表示是不唯一的,可參見相應的書籍)。而且可以用111111表示-1的補碼(這也是補碼與原碼和反碼的區(qū)別)。
3.4.2按位取反運算符~
~是一元運算法,對數(shù)據(jù)的每個二進制位取反,即把1變?yōu)?,把0變?yōu)?。
例如:
0010101
~
1101010
注意,~運算符與-運算符不同,~21≠-21。
3.4.3按位與運算符&
參與運算的兩個值,如果兩個相應位都為1,則該位的結(jié)果為1,否則為0。即:
0&0=0,0&1=0,1&0=0,1&1=1
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |