我该怎么做 10101base2 + 111base2 =?我已经知道如何将基础转换为另一个基础。但是我将如何添加它们呢?
问问题
715 次
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 回答