过完年了,康复训练开始吧!
除了手写进制转换外,来点方便的进制转换函数
public class Main {
public static void main(String[] args) {
int n = 18;
Integer.toHexString(n);
System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));
System.out.println(n + "的八进制是:" + Integer.toOctalString(n));
System.out.println(n + "的十六进制是:" + Integer.toHexString(n));
System.out.println(n + "的三进制是:" + Integer.toString(n, 3));
}
}
radix进制的字符串s转10进制
Integer.parseInt((String) s,(int) radix);
例题 HDU 2057 A + B Again
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String a,b;
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
a=scanner.next();
b=scanner.next();
long sum=Long.parseLong(a.replace("+", ""),16)+Long.parseLong(b.replace("+", ""),16);
if(sum<0)
System.out.println("-"+Long.toHexString(-sum).toUpperCase());
else System.out.println(Long.toHexString(sum).toUpperCase());
}
}
}