先上一个例子,计算两个二进制数的和,然后用二进制输出结果,代码如下
public class BinaryAdd {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(addBinary("101", "110"));
}
public static String addBinary(String a, String b) {
// Write your code here
String result = "";
int aa = Integer.valueOf(a, 2);
int bb = Integer.valueOf(b, 2);
result = Integer.toBinaryString(aa+bb);
return result;
}
}
输出结果
1011
我的想法是先将二进制转换为十进制,计算出和之后,再转换为二进制输出
常见的进制数之间的转换方式如下
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16)
八进制转成十进制
Integer.valueOf("876",8)
二进制转十进制
Integer.valueOf("0101",2)
Integer.valueOf(String s, int radix)
返回一个
Integer
对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String
中提取的值。也就是说第二个参数指定转换为几进制