明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

設(shè)置二進(jìn)制常用的2函數(shù)

[摘要]也許很多人會(huì)用不上,但一旦要操作二進(jìn)制,是很有用的之所以稱為函數(shù),是因?yàn)闊o論你用C還是用Java寫,都只能將它們寫成函數(shù),盡管在Java中不叫函數(shù)//Java Version/*** BCD碼左對(duì)齊轉(zhuǎn)字符串* @param bcd 你一次讀進(jìn)的字節(jié)數(shù),因?yàn)榭赡軙?huì)大于你要處理的字節(jié)數(shù)* @param...
也許很多人會(huì)用不上,但一旦要操作二進(jìn)制,是很有用的
之所以稱為函數(shù),是因?yàn)闊o論你用C還是用Java寫,都只能將它們寫成函數(shù),盡管在Java中不叫函數(shù)

//Java Version

/**
* BCD碼左對(duì)齊轉(zhuǎn)字符串
* @param bcd 你一次讀進(jìn)的字節(jié)數(shù),因?yàn)榭赡軙?huì)大于你要處理的字節(jié)數(shù)
* @param begin 字節(jié)開始位置
* @param length 字節(jié)長(zhǎng),與begin一起決定真正要處理的字節(jié)數(shù)
*/
public static String BCD2Str(byte[] bcd,int begin,int length)
{
String str = "";
int temp;
for(int i=begin;i<begin+length;i++) {
if(bcd[i]==0) break;
temp=(bcd[i] & 0x0F) % 10;
str+=temp;
temp=(bcd[i]>>>4) % 10;// notice >>>
if(bcd[i]>>>4 !=0)str+=temp;
}
return str;
}

/**
* 普通的二進(jìn)制轉(zhuǎn)字串
* @param 同BCD碼
*/
public static String Hex2Str(byte[] hex,int begin,int num)
{
String overflow="overflow";
long ll=0;
if(num>8) return overflow;
for(int i=begin;i<begin+num;i++)
ll=ll*256+ hex[i];

return String.valueOf(ll);
}

//C version
因?yàn)橛玫降?方庫,貼無益,免,算法同Java Version