【发布时间】:2014-01-16 15:58:57
【问题描述】:
我正在做一个基于服务器的程序,我想将 2 个二进制字符串相乘。这些字符串很长,因此它们不能转换为long 或int 类型。这些字符串之一的示例是:
01100010 00110110 00110011 00110111 00110100 00111001 00111001 00111001 00110110 01100011 00110110 01100101 00111001 00110011 00110011 00110010 00110010 00110010 01100001 00110101 01100100 01100011 01100011 01100010 01100100 00111000 01100100 01100100 00110010 00110110 00110110 00110100 00111000 01100110 00110001 00110100 00110110 01100110 01100110 01100100 00110100 00110101 00110100 01100010 01100010 00111001 00111001 00110110 01100110 01100010 00111000 00110011 00110000 00110011 00110010 01100110 01100010 00110001 01100010 01100001 00110100 01100011 01100011 00111000 00110110 00110111 01100110 00110001 00111001 00110110 00110110 00110001 00110001 01100101 00110010 00111000 01100100 01100110 01100110 01100001 01100100 00110100 00110110 00110000 00110010 00111001 00111001 00110011 00111000 01100001 00111001 00110111 00110111 00110011 00110010 01100011 00110100 00110000 01100011 01100101 01100010 01100011 01100011 00110101 01100110 00110111 00110000 00110110 00110000 00110110 00110101 01100101 01100001 01100100 00110011 01100100 00110100 01100110 01100110 00110111 00110110 00110011 00110111 00110100 00111001 00111001 00111001 00110000 00110001 00111001 01100001 01100010 01100101 00110011 00110010 00111001 01100011 01100110 01100101 00110011 00110010 01100011 01100011 00110010 00111000 00110110 00110001 01100001 00110111 00110110 00110101 01100010
这个字符串可以有空格,也可以没有。没关系。我的问题是,我如何将 01100011 与这个字符串相乘?乘数的长度是可变的,所以灵活性是必须的。
提前致谢!
【问题讨论】:
-
你能用
BigInteger吗? -
我可以,但我不确定如何用它进行二进制乘法...因为我从未使用过 biginteger...
-
call
multiply()数字是数字,无论它们显示在什么基础上 -
BigInteger 有一个接受字符串和一个基数的构造函数,一个接受基数参数的 toString 方法,以及一个 multiply 方法。