明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

设置二进制常用的2函数

[摘要]也许很多人会用不上,但一旦要操作二进制,是很有用的之所以称为函数,是因为无论你用C还是用Java写,都只能将它们写成函数,尽管在Java中不叫函数//Java Version/*** BCD码左对齐转字符串* @param bcd 你一次读进的字节数,因为可能会大于你要处理的字节数* @param...
也许很多人会用不上,但一旦要操作二进制,是很有用的
之所以称为函数,是因为无论你用C还是用Java写,都只能将它们写成函数,尽管在Java中不叫函数

//Java Version

/**
* BCD码左对齐转字符串
* @param bcd 你一次读进的字节数,因为可能会大于你要处理的字节数
* @param begin 字节开始位置
* @param length 字节长,与begin一起决定真正要处理的字节数
*/
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;
}

/**
* 普通的二进制转字串
* @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
因为用到第3方库,贴无益,免,算法同Java Version