java任意进制之间的转换
方法一:
import java.util.Stack;
public static String zh(){
int n,t;
n=33;//需要转换的数字
t=34;//34进制
Stack<Integer> s=new Stack<Integer>();
while(n!=0)
{
int r=n%t;
n/=t;
if(r<0)
{
r-=t;
n++;
}
s.push(r);
}
System.out.print("=");
while(!s.empty())
{
if(s.peek()<10)
{
System.out.print(s.pop());
}
else
System.out.print((char)('A'+s.pop()-10));
}
System.out.println("(base"+t+")");
return "";
}
方法二、
public static String HexToStr(int i) {
String s = "0123456789abcdefghijklmnopqrstuvwsyz";
StringBuffer sb = new StringBuffer();
for (int j = 0; i >= 34; j++) {//34进制
int a = i % 34;
i /= 34;
sb.append(s.charAt(a));
}
sb.append(s.charAt(i));
return sb.reverse().toString();
}