我正在编写一个允许在基数10,基数2和基数8之间进行转换的程序。我决定通过使用分割数字的方法将其从任何基数转移到任何基数。由基础转换为转换为。问题是,如果我在基础2 1111中说15并且我想将其转换为基数10,那么我将java除以1110 1010它不会知道我想要基数2除法和它将它视为标准基础10师。
有没有办法在java中的不同基础上进行算术?
答案 0 :(得分:2)
算术是算术,无论基数。实际价值" 1010"在基数2中与值" 10"完全相同在基数10中,它们之间的划分完全相同。基地只是一个代表问题。
我可以继续告诉您,如果您尝试在基数2中代表10,例如int x = 1010
,那么您做错了。
在内部存储和操作值;你不必担心计算机如何代表它们自己。只需将包装函数放在向用户显示这些值的位置 - 所以,一组函数的标题如下:
int fromBaseTen(String numberWrittenInBaseTen){...}
String toBaseTen(int number){...}
int fromBaseTwo(String numberWrittenInBaseTwo){...}
String toBaseTwo(int number){...}