标签:ar java c on amp r as har return
public class DecimalTONBigit {
/**
* 十进制数(可以为负数)转n(n在[2,36]之间)进制
* @author wl
*/
public static final int N=36;//N表示n进制
public static void main(String[] args) {
int data=71;//data表示要转换的数
toNBigit(data,N);
}
private static void toNBigit(int data, int a) {
if(a>36||a<2){
System.out.println("不支持此进制!!!");
return;
}
if(data<0){
data=((-1*data)^((1<<31)-1))+1;//将负数变为正数,再取反(^((1<<31)-1)即为取反),最后再加1;
}
int n=(data%a);
int m=(data/a);
if(m==0){
printNBigitNum(n);
}else{
toNBigit(m,a);
printNBigitNum(n);
}
}
private static void printNBigitNum(int n) {
if(n>9&&n<=36){
System.out.print((char)((n-10)+65));
}else if(n>36){
System.out.println("不支持此进制!!!");
return;
}else{
System.out.print(n);
}
}
}
输出:
1Z
java 十进制数(支持负数)转n进制(n在[2,36]之间)
标签:ar java c on amp r as har return
原文地址:http://blog.csdn.net/tmwl0728/article/details/39741555