java異或運(yùn)算符 二進(jìn)制計(jì)算公式?
二進(jìn)制計(jì)算公式?假設(shè)j=I,那么j>> I=0j=I,j>> I=0右移位數(shù)等于位數(shù)除以2,二進(jìn)制是一組32:(此公式適用于正數(shù)的無符號(hào)右移,但不適用于負(fù)數(shù))j>> I=j&g
二進(jìn)制計(jì)算公式?
假設(shè)j=I,那么j>> I=0
j=I,j>> I=0
右移位數(shù)等于位數(shù)除以2,二進(jìn)制是一組32:(此公式適用于正數(shù)的無符號(hào)右移,但不適用于負(fù)數(shù))
j>> I=j>> I=J/(內(nèi)景)數(shù)學(xué).pow(2,I%32))
向左移位的位數(shù)等于一個(gè)組中二進(jìn)制32乘以2的位數(shù):
J<< I=J*(int)(數(shù)學(xué).pow(2,I%32))
異或運(yùn)算,從二進(jìn)制算法到十進(jìn)制,公式:
^符號(hào)異或0^0=0,1^0=1,0^1=1,1^1=0
示例:9二進(jìn)制:1001
2二進(jìn)制:0010
9^2結(jié)果:1011
轉(zhuǎn)換為十進(jìn)制:821=11
java中異或是怎樣算的?
異或運(yùn)算(^)基于二進(jìn)制數(shù)據(jù)。也就是說,當(dāng)代碼中使用異或運(yùn)算時(shí),這兩個(gè)條件在運(yùn)算前會(huì)被轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)。如果外國同一個(gè)地方的值相同(均為0或均為1),則為0;如果值不同(一個(gè)為0,一個(gè)為1),則為1。例如,int a=4,int b=6,int c=a^b//c的值是a和b的異或。過程1和a的二進(jìn)制值是0000 0100//,因?yàn)楦呶幌嗤?,所以?位被刪除。2異或后B的二進(jìn)制值為0000 0110 3,0000 0010//結(jié)果為2