对八进制数执行加法和减法操作的推荐方法是什么? (到目前为止,我的搜索结果只产生了八度的转换,但没有产生如何对实际八度进行算术运算)。 我的程序将生成2个八进制值,然后加上或减去这些(随机),并给出八进制总数。
例如
5 Octal + 3 Octal = 10 Octal;
12 Octal - 3 Octal = 7 Octal;
我尝试过使用:
Integer.parseInt(int, 8),
但我不清楚如何构建上述结果。我有其余的编程工作,我只是坚持八进制计算。 我是一名全新的编程学生,正在通过Java的艺术与科学工作。 Eric S. Roberts的教科书,这被列为编程练习(第7章,练习3)。
答案 0 :(得分:3)
你对这个概念有一个基本的误解。算术在数字上执行,而不是在八进制数或十进制数或十六进制数上执行。
八进制/十进制/十六进制方面仅指书面表示。
您可能知道,要在代码中写入文字八进制值,请在前面加前导零。与写入十六进制值类似,您可以在其前面添加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));
答案 1 :(得分:1)
您可以使用Integer.toOctalString(int)
方法获取数字的八进制表示,如果您的意思是:
System.out.println(Integer.toOctalString(012 - 03)); // 7
System.out.println(Integer.toOctalString(05 + 03)); // 10