【问题标题】:Java octal calculationsJava八进制计算
【发布时间】:2014-03-30 21:16:06
【问题描述】:

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

例如。

 5 Octal + 3 Octal = 10 Octal;
 12 Octal - 3 Octal = 7 Octal;

我尝试过使用:

Integer.parseInt(int, 8), 

但我不清楚如何构造上述结果。我有剩下的编程工作,我只是停留在八进制计算上。 我是一名全新的编程学生,正在学习 Eric S. Roberts 的“Java 的艺术与科学”教科书,这被列为编程练习(第 7 章,练习 3)。

【问题讨论】:

    标签: java octal


    【解决方案1】:

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

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

    您可能知道,要在代码中写入文字八进制值,您需要在其前面加上前导零。类似地,要写入一个十六进制值,请在其前面加上 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));
    

    【讨论】:

      【解决方案2】:

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

      System.out.println(Integer.toOctalString(012 - 03));  // 7
      System.out.println(Integer.toOctalString(05 + 03));   // 10
      

      【讨论】:

        猜你喜欢
        • 2019-04-29
        • 2013-09-19
        • 1970-01-01
        • 2020-03-29
        • 2019-04-16
        • 1970-01-01
        • 2015-07-05
        • 2020-01-10
        • 1970-01-01
        相关资源
        最近更新 更多