对八进制数字执行加法、和减法操作的推荐方法是什么?(到目前为止,我的搜索结果只得到了八进制数的转换,而不是如何对实际八进制进行算术运算)。我的程序将生成两个八进制值,然后添加或减去这些(随机),并给出八进制总数。
例如:
5 Octal + 3 Octal = 10 Octal;
12 Octal - 3 Octal = 7 Octal;我试过使用:
Integer.parseInt(int, 8), 但我不清楚如何为上述结果构建框架。我有其他的程序工作,我只是停留在八进制计算。我是一个全新的编程专业学生,正在阅读由EricS.Roberts编写的“Java艺术与科学”教科书,这是一个编程练习(第7章,练习3)。
发布于 2014-03-30 13:07:12
你对这个概念有一个基本的误解。算术是在数字上执行的,而不是对八进制数、十进制数或十六进制数执行的。
八进制/十进制/十六进制方面仅指书面表示。
正如您可能知道的,要在代码中写入一个文字八进制值,您可以在它的前缀加上一个前导零。类似地,要编写十六进制值,您可以在其前缀加上0x。
若要打印八进制值,请使用Integer.toOctalString(int)。
若要解析字符串并将其解释为八进制值,请使用Integer.parseInt(value, radix),并将8指定为基数。
例如,您的两个示例成为:
int value1 = Integer.parseInt("5", 8);
int value2 = Integer.parseInt("3", 8);
int result = value1 + value2;
System.out.println(Integer.toOctalString(result));和
int value1 = Integer.parseInt("12", 8);
int value2 = Integer.parseInt("3", 8);
int result = value1 - value2;
System.out.println(Integer.toOctalString(result));发布于 2014-03-30 13:05:00
您可以使用Integer.toOctalString(int)方法获取数字的八进制表示,如果您的意思是:
System.out.println(Integer.toOctalString(012 - 03)); // 7
System.out.println(Integer.toOctalString(05 + 03)); // 10https://stackoverflow.com/questions/22744294
复制相似问题