悬赏问题都来回答!!!Java语言实现两个二进制数相加,不需要把结果转换为十进制数。二进制数最大100位
完整的代码写给我看!
悬赏问题都来回答!!!Java语言实现两个二进制数相加,不需要把结果转换为十进制数。二进制数最大100位
完整的代码写给我看!
其实把~java有一个类叫:BigInteger,可以解决你的问题哦
因为是大整数类型,所以位数可以是无限大,只要内存装得下
下头是简单的示例代码:
import java.math.*;
/**
* BitInteger
*/
public class BitInteger {
public static void main(String[] args) {
String bitStr1 = "0101000";
String bitStr2 = "1010110";
BigInteger a = new BigInteger(bitStr1, 2);
BigInteger b = new BigInteger(bitStr2, 2);
System.out.println("a+b as :" + a.toString() + "+" + b.toString() + "=" + a.add(b).toString());
System.out.println("a+b as :" + a.toString(2) + "+" + b.toString(2) + "=" + a.add(b).toString(2));
}
}
执行结果:
a+b as :40+86=126
a+b as :101000+1010110=1111110
最后:
数字相加无所谓进制,只是在于显示出来的时候是个什么样子,
所以二进制的 0101+0011 = 1000;
还是十进制的5+3 = 8;
实际上都是 5 个苹果加3个苹果 = 8个苹果,只是显示的形态不一致而已奥~~~