首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java八进制计算

Java八进制计算
EN

Stack Overflow用户
提问于 2014-03-30 13:01:12
回答 2查看 3.2K关注 0票数 1

对八进制数字执行加法、减法操作的推荐方法是什么?(到目前为止,我的搜索结果只得到了八进制数的转换,而不是如何对实际八进制进行算术运算)。我的程序将生成两个八进制值,然后添加或减去这些(随机),并给出八进制总数。

例如:

代码语言:javascript
复制
 5 Octal + 3 Octal = 10 Octal;
 12 Octal - 3 Octal = 7 Octal;

我试过使用:

代码语言:javascript
复制
Integer.parseInt(int, 8), 

但我不清楚如何为上述结果构建框架。我有其他的程序工作,我只是停留在八进制计算。我是一个全新的编程专业学生,正在阅读由EricS.Roberts编写的“Java艺术与科学”教科书,这是一个编程练习(第7章,练习3)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-30 13:07:12

你对这个概念有一个基本的误解。算术是在数字上执行的,而不是对八进制数、十进制数或十六进制数执行的。

八进制/十进制/十六进制方面仅指书面表示。

正如您可能知道的,要在代码中写入一个文字八进制值,您可以在它的前缀加上一个前导零。类似地,要编写十六进制值,您可以在其前缀加上0x

若要打印八进制值,请使用Integer.toOctalString(int)

若要解析字符串并将其解释为八进制值,请使用Integer.parseInt(value, radix),并将8指定为基数。

例如,您的两个示例成为:

代码语言:javascript
复制
int value1 = Integer.parseInt("5", 8);
int value2 = Integer.parseInt("3", 8);

int result = value1 + value2;
System.out.println(Integer.toOctalString(result));

代码语言:javascript
复制
int value1 = Integer.parseInt("12", 8);
int value2 = Integer.parseInt("3", 8);

int result = value1 - value2;
System.out.println(Integer.toOctalString(result));
票数 3
EN

Stack Overflow用户

发布于 2014-03-30 13:05:00

您可以使用Integer.toOctalString(int)方法获取数字的八进制表示,如果您的意思是:

代码语言:javascript
复制
System.out.println(Integer.toOctalString(012 - 03));  // 7
System.out.println(Integer.toOctalString(05 + 03));   // 10
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22744294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档