java位運算符代碼 java位運算實現(xiàn)加法

java位移運算符

 學習Java本來就是一件日積月累的事情,或許你通過自學能掌握一些皮毛技術,通過Java學習機構學到Java的一些基本大面,但想要做到精通,還是需要自己技術的日積月累和工作經(jīng)驗的不斷積累。

作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設機構,我們在業(yè)內良好的客戶口碑。成都創(chuàng)新互聯(lián)公司提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設計、成都網(wǎng)站建設、網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運營等一系列服務,幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡營銷方法,創(chuàng)造更大的價值。

今天給大家分享的技術知識是:Java中的位移運算符!

1) “有符號”左移位運算符()能將運算符左邊的運算對象向左移動運算符右側指定的位數(shù)(在低位補0)。

左移移位相當于乘以2,例如

3 2 //12 則是將數(shù)字3左移2位 3*2*2 = 3*(2的2次方)

分析:首先把3轉換為二進制數(shù)字0000 0000 0000 0000 0000 0000 0000 0011,然后把該數(shù)字高位(左側)的兩個零移出,其他的數(shù)字都朝左平移2位,最后在低位(右側)的兩個空位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 1100,則轉換為十進制是12.數(shù)學意義:

在數(shù)字沒有溢出的前提下,對于正數(shù)和負數(shù),左移一位都相當于乘以2的1次方,左移n位就相當于乘以2的n次方。

2) “有符號”右移位運算符()則將運算符左邊的運算對象向右移動運算符右側指定的位數(shù)。 “有符號”右移位運算符使用了“符號擴展”:若值為正,則在高位插入0;若值為負,則在高位插入1。

運算規(guī)則:按二進制形式把所有的數(shù)字向右移動對應位數(shù),低位移出(舍棄),高位的空位補符號位,移位后得到的數(shù)字為正數(shù)則補0,負數(shù)補1。

例如11 2,則是將數(shù)字11右移2位

分析:11的二進制形式為:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后兩個數(shù)字移出,因為該數(shù)字是正數(shù),所以在高位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 0010.轉換為十進制是3.數(shù)學意義:右移一位相當于除2,右移n位相當于除以2的n次方。

3) Java也添加了一種“無符號”右移位運算符(),它使用了“零擴展”:無論正負,都在高位插入0

4)右移一位相當于除以2,左移一位(在不溢出的情況下)相當于乘以2;移位運算速度高于乘除運算。

5)位運算符的優(yōu)先級

~的優(yōu)先級最高,其次是、和,再次是,然后是^,優(yōu)先級最低的是|。

JAVA位運算符

然后呢?位運算怎么了?

說說位運算常用的幾種吧。

首先基本概念:

你要明白 "與" 和 "或" 都代表什么意思,“與”表示同時滿足,也稱同時為真,然后其結果才能為滿足或真,否者一概為不滿足或假;"或"表示只需要滿足一個,也可以說只要一個為真,然后其結果就為滿足或者,除非兩個都不滿足,其結果才表示不滿足。

接下來說常用的4種位運算符:按位與()、按位或(|)、帶符號左移()、帶符號右移()

表示按位與,需要按位的意思是,首先將符號兩邊均換算成二進制,然后按位做 與 操作,沒有內容的以0計算。比如,17 相當于 001 111 相當于 01 01 11 最后得到結果 001 也就是1 ;

| 表示按位或,其他內容與一致,只有換成二進制后做的操作時 按位或,同上例:1|7 相當于 001|111 相當于 0|1 0|1 1|1 最后得到結果 111 也就是 7;

表示左移,舉例說明: 7 1 首先只將符號左側內容換算成二進制 111 然后,向左移位,需要移多少位?這時候就用到符號右側的數(shù)字1,即表示移1位,缺失的依舊補0,所以就變成了1110,也就是14

表示右移,和左移一樣,比如 71 就表示 111向右移動一位,就變成了11,多余的位會被舍棄.

還有其他的不太常用的 比如 按位 異或 , 無符號移位運算,如果感興趣,也可以去了解

在JAVA中,"~"是什么意思?

~是位運算符,意義是\x0d\x0a按位非(NOT)\x0d\x0a\x0d\x0a按位非也叫做補,一元運算符NOT“~”是對其運算數(shù)的每一位取反。例如,數(shù)字42,它的二進制代碼為:\x0d\x0a00101010\x0d\x0a經(jīng)過按位非運算成為\x0d\x0a11010101 \x0d\x0a\x0d\x0a優(yōu)先級按位運算符的優(yōu)先級,在運算符中優(yōu)先級最低。

Java運算符?

1.運算符

1)算術運算符

+-*/%++--

+:如果有加數(shù)為“”(字符串),表示連接

%:2%1?0

++:自增1?num++:先參與運算,然后在自增?++num:先自增,再參與運算

--:自減1??num--?--num

2)賦值運算符

=???+=?-=?*=?/=?%=......

num=3;

+=??num+=3=num=num+3

左邊?=右邊=左邊=左邊?右邊

3)關系運算符

==!===

表達式的結果為:boolean類型

==:用來判斷兩個數(shù)是否相等

4)邏輯運算符

||!^|

結果類型:boolean類型

與:串聯(lián),并且

或:并聯(lián),或者

非:取反

異或:不同為真,相同為假

與:?區(qū)別:

:短路與,如果第一個能判斷出結果,則云南電腦培訓認為后面的不再判斷

:所有的都會判斷

||?|區(qū)別:同上面

5)位運算符:

|~^??

對數(shù)值按位操作:

63

00000110

00000011

00000010

:23=16補0

:162=4:正數(shù)補0,負數(shù)補1

:補0

三目運算符:

?:

條件表達式?結果1:結果2;

如果表達式結果為true:結果為結果1

否則為結果2

12?1:0;結果為0

新聞標題:java位運算符代碼 java位運算實現(xiàn)加法
文章來源:http://muchs.cn/article2/dosjjic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、企業(yè)建站微信小程序、微信公眾號、網(wǎng)站收錄、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)