【发布时间】:2013-02-27 08:15:22
【问题描述】:
对于 Java 分配,我需要能够将任何将通过命令行作为字符串引入的数字(无论多大)传递到二进制文件中。
然后生成允许这些数字进行加、乘、减和除的方法。
我的问题是第一个:
如何将我的字符串变成二进制
例如:
123 会变成 1111011
8403678 将变为 100000000011101011011110
等等……
那么最大的问题就是让它们相加、相减等等。
最后我需要能够将结果从二进制转换回十进制,这比前一种情况(从二进制转换为十进制字符串)更难以理解如何做到这一点。
例如:
如果将 1111011 添加到 100000000011101011011110 中,结果将是 100000000011101101011001,然后它会变成 8403801,我会打印出来。
这个项目的最终目标是创建我们自己的类,例如 java.math.BigInteger(当然不使用它)并处理任意大的数字(比 Int 可以处理的大)。
如果需要任何额外信息,请告诉我,我会及时回复。
【问题讨论】:
-
看看 BigInteger 类。它将帮助您入门。之后想到许多除以二并取模二的循环。
-
如果你做这个练习,你必须了解二进制系统及其算术。只有这样,您才能准备好将这些知识转化为 Java。网上有很多信息。例如:academic.evergreen.edu/projects/biophysics/technotes/misc/… 或 www2.cs.uregina.ca/~rbm/cs100/notes/binary/binary.html
-
这个项目的最终目的是创建我们自己的类,例如 java.math.BigInteger(当然不使用它)并处理任意大的数字(比 Int 可以处理的更大)。
标签: java string math binary arithmetic-expressions