谁帮我解释一下这个算法(java)

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:36:42
public static String getHexString(long value, int len){
char[] cValue;
int i=0;
long j, t=0;
cValue = new char[len];

j = value;
while (j>256){
t = j/256;
cValue[i++] = (char)(j - t*256);
j = t;
}
cValue[i++] = (char)j;

return String.valueOf(cValue); //.toString();
}

将一个长整型变量value,转换成String型值返回,String长度为len

定义一个接收结果的char数组
char[] cValue;
cValue = new char[len];

j = value;
while (j>256){
//j除以256取余,结果存入char数组中
t = j/256;
cValue[i++] = (char)(j - t*256);
//将j除以256后的整数部分转入j中,准备下一个循环的运算
j = t;
}
cValue[i++] = (char)j;
//将char数组转为String类型,并返回
return String.valueOf(cValue); //.toString();

一个加密算法,把数字转换成字符串!
cValue[i++] = (char)(j - t*256);//对余数取ascII码,cValue[i++] = (char)j; //这个也是
最后转成字符串。
int len容易越界吧!

没看董