0

我该怎么做 10101base2 + 111base2 =?我已经知道如何将基础转换为另一个基础。但是我将如何添加它们呢?

4

2 回答 2

2

我发现 java 的BigInteger是所有位操作中最好的。在其广泛的用途中(主要用于存储大量数字和支持的广泛操作),您确实可以选择从 2 到 36 的基本转换。至于添加这些二进制数字,您可以使用BigInteger.add(BigIntger)它们提供的函数。

例子 :

BigInteger num_1=new BigInteger("10101",2);     //Store as Binary
BigInteger num_2=new BigInteger("111",2);       //Store as Binary
BigInteger result=num_1.add(num_2);

//Display the result using BigInteger.toString(int base)
System.out.println("Result = "+result.toString(10));    //Showing result in Decimal base here

当然,如果它有小数位,就要使用William Gaul描述的方法。

于 2017-02-13T17:55:36.060 回答
1
int result = 0b10101 + 0b111;

或者,如果您的输入是字符串:

int result = Integer.parseInt("10101", 2) + Integer.parseInt("111", 2);

编辑:如果你问如何以二进制形式查看结果,还有这个:

System.out.println(Integer.toBinaryString(result));
于 2013-09-26T02:01:00.183 回答