真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java位運(yùn)算代碼 位運(yùn)算符java

java的位運(yùn)算

根據(jù)你提供的結(jié)果判斷,你說的這個(gè)“11000011"數(shù),不是二進(jìn)制,是個(gè)十進(jìn)制吧。

創(chuàng)新互聯(lián)專業(yè)提供雅安機(jī)房托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買雅安機(jī)房托管服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。

你把11000011化成二進(jìn)制補(bǔ)碼,然后右移兩位。把結(jié)果再轉(zhuǎn)換為十進(jìn)制就是“2750002”了。

java中使用補(bǔ)碼表示二進(jìn)制,正數(shù)的補(bǔ)碼是其本身,負(fù)數(shù)的補(bǔ)碼是它的絕對值取反+1:

例如:

+3 二進(jìn)制位0000 0011(最高位為符號(hào)位,0正,1負(fù)),補(bǔ)碼為:0000 0011;

-3 絕對值二進(jìn)制位0000 0011,求反為1111 1100,補(bǔ)碼為1111 1101

對-32 ===== 1111 11012 結(jié)果為1111 1111(為補(bǔ)碼) 化成十進(jìn)制為-1;

可能說的不夠詳細(xì),僅供參考。。。。

java使用位運(yùn)算符,計(jì)算53x32的值

左移一位相當(dāng)于乘以2,32 等于 2 的 5 次方,所以左移 5 位,即可算出 53 * 32 的值。代碼如下:

public?class?App47?{

public?static?void?main(String[]?args)?{

System.out.println(53??5);

System.out.println(53?*?32);

}

}

JAVA位運(yùn)算符

運(yùn)算符 含義 示例

~ 按位非(NOT) b = ~a

按位與(AND) c = a b

| 按位或(OR) c = a | b

^ 按位異或(XOR) c = a ^ b

右移 b = a 2

右移,左邊空出的位以0填充 b = a 2

左移 b = a 1

當(dāng)然同樣有 =,|=,^=,=,=,=。

有關(guān)這些操作的細(xì)節(jié)可以參看

位運(yùn)算

前面介紹的各種運(yùn)算都是以字節(jié)作為最基本位進(jìn)行的。 但在很多系統(tǒng)程序中常要求在位(bit)一級(jí)進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能, 這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。

一、位運(yùn)算符C語言提供了六種位運(yùn)算符:

按位與

| 按位或

^ 按位異或

~ 取反

左移

右移

1. 按位與運(yùn)算 按位與運(yùn)算符""是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相與。只有對應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1 ,否則為0。參與運(yùn)算的數(shù)以補(bǔ)碼方式出現(xiàn)。

例如:95可寫算式如下: 00001001 (9的二進(jìn)制補(bǔ)碼)00000101 (5的二進(jìn)制補(bǔ)碼) 00000001 (1的二進(jìn)制補(bǔ)碼)可見95=1。

按位與運(yùn)算通常用來對某些位清0或保留某些位。例如把a(bǔ) 的高八位清 0 , 保留低八位, 可作 a255 運(yùn)算 ( 255 的二進(jìn)制數(shù)為0000000011111111)。

main(){

int a=9,b=5,c;

c=ab;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}

2. 按位或運(yùn)算 按位或運(yùn)算符“|”是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相或。只要對應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。參與運(yùn)算的兩個(gè)數(shù)均以補(bǔ)碼出現(xiàn)。

例如:9|5可寫算式如下: 00001001|00000101

00001101 (十進(jìn)制為13)可見9|5=13

main(){

int a=9,b=5,c;

c=a|b;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}

3. 按位異或運(yùn)算 按位異或運(yùn)算符“^”是雙目運(yùn)算符。

java 如何對01的字符串進(jìn)行位運(yùn)算

Java代碼:

public class test{ public static void main(String[] args) { String source = "cghjhgfgsdyugh"; int ch = source.charAt(0); for(int i=1; isource.length(); i++) { ch ^= source.charAt(i); } System.out.printf("%d : %c\n", ch, ch); }}

運(yùn)行測試:

28 :

JAVA 位運(yùn)算

樓上是錯(cuò)的...

public class Test

{

public static void main(String[] args)

{

byte b=(byte)0xf1 ;

byte d=(byte)(b4);

System.out.println(d);

byte a=(byte)0xf1;

byte e=(byte)((a0xff)4);

System.out.println(e);

}

}

輸出為

-1

15

解釋如下:

問題1:

1.0xf1,這是直接書寫的文字常量,java默認(rèn)情況下表示int型,即0x000000f1

2.(byte)0xf1,是將int顯示轉(zhuǎn)化為byte,即強(qiáng)行截?cái)嗳∽畹妥止?jié),即取0x000000f1的最低字節(jié)0xf1,所以得到的byte在內(nèi)存里是0xf1,因?yàn)閎yte是有符號(hào)的,所以b是負(fù)數(shù)

3.位移會(huì)先將左邊的數(shù)轉(zhuǎn)化為int,再位移;負(fù)數(shù)擴(kuò)展左邊添1,所以0xf1擴(kuò)展為0xfffffff1,添0右移4位結(jié)果是0x0fffffff

4.最后將int型的0x0fffffff顯示轉(zhuǎn)化為byte,即截?cái)嘧畹妥止?jié),得到0xff,即byte值的-1,所以輸出為-1

問題2:

同理

1.(byte)0xf1是截?cái)鄆nt值的最低字節(jié)得到0xf1,也是一個(gè)byte型負(fù)數(shù)

2.b0xff,左邊是byte型,右邊的文字常量默認(rèn)是int型,所以左邊的byte先為擴(kuò)展為0xffffffff的int型,與右邊的int值位與,所以b0xff的最終結(jié)果是int型的0x000000ff

3.將b0xff按符號(hào)位擴(kuò)展右移4位,得到0x0000000f,最后截?cái)嘧畹妥止?jié)得到byte值0x0f,所以e為0x0f,輸出得到15

ok,就是這樣


本文題目:java位運(yùn)算代碼 位運(yùn)算符java
文章路徑:http://weahome.cn/article/docicjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部