java是什么 java中-5的反碼是怎么計算的,補(bǔ)碼呢?
java中-5的反碼是怎么計算的,補(bǔ)碼呢?首先轉(zhuǎn)換為二進(jìn)制,很清楚11111 011逐位是反碼補(bǔ)碼是sum&0xff首先,您需要了解Java中沒有位數(shù)據(jù)類型,所以如果您要表示位,可以使用byte[]方
java中-5的反碼是怎么計算的,補(bǔ)碼呢?
首先轉(zhuǎn)換為二進(jìn)制,很清楚
11111 011
逐位是反碼
補(bǔ)碼是sum&0xff
首先,您需要了解Java中沒有位數(shù)據(jù)類型,所以如果您要表示位,可以使用byte[]方法
1 byte=8 bit
只要您提取每個位,就需要若要將其右移到右側(cè)的第一位,并以這種方式在和1中執(zhí)行and運(yùn)算,除所需位外,其余均為0。它的二進(jìn)制(1,0)正好是數(shù)字1,0;
因此我們可以將它封裝為://byte to bit
byte[]temp=新字節(jié)[8
]for(int i=7 i>=0 i--){
temp[i]=(byte)((A>> i)&;1) ]}
]return temp
}
//位到字節(jié)
公共靜態(tài)字節(jié)位(byte[]a){
byte temp=(byte)0
For(int i=0 i< bits i){
temp=temp | a[i]<< i]}]return temp]}
]希望能對您有所幫助,謝謝。