【发布时间】:2012-03-23 18:32:54
【问题描述】:
我正在尝试添加两个更大的二进制数(即位数大于 31),但由于获得NumberFormatException 而被卡住。下面是抛出异常的行-
Integer.parseInt(binaryNo, 2);
我的想法是先将两个二进制数转换为integer,然后将integer 加在一起,然后使用Integer.toBinaryString(integerSum) 转换回二进制数。但它不适用于位数大于 31 的二进制数,因为会发生整数溢出。请告诉我可以以优化方式(最短时间)执行大二进制数加法的任何方式。谢谢。
【问题讨论】: