首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中获取二进制数字的前导零

如何在java中获取二进制数字的前导零
EN

Stack Overflow用户
提问于 2019-07-28 17:38:53
回答 2查看 191关注 0票数 0

我试图使用以下代码将八进制数转换为二进制数

代码语言:javascript
运行
复制
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter octal number: ");
String oct = br.readLine();
int i= Integer.parseInt(oct,8);
String binary=Integer.toBinaryString(i);
System.out.println("Octal Number: "+binary);

但是这里的问题是如何得到前导零

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-28 17:50:30

尝尝这个。

代码语言:javascript
运行
复制
      int[] vals = { 10, 34, 99, 1002, 40
      };
      for (int v : vals) {
         // the 07 means a field width of 7 with 0's padding on left.
         // th o means octal and the %n is newline.
         System.out.printf("%07o%n", v);
      }

      //This does the same thing but returns a formatted string.
      String paddedVal = String.format("%07o", 48);
      System.out.println(paddedVal);

已经是八进制的字符串。

代码语言:javascript
运行
复制
      String octalVal = "57";
      paddedVal = String.format("%07o", Integer.valueOf(octalVal, 8));
      System.out.println(paddedVal);
      // should print 0000057

二进位数。

代码语言:javascript
运行
复制
      octalVal = "57";
      String bin = Integer.toBinaryString(Integer.valueOf(octalVal));
      String paddedBin =
            "00000000000000000000000000000".substring(0, 32 - bin.length())
                  + bin;
      System.out.println(paddedBin);
票数 3
EN

Stack Overflow用户

发布于 2019-07-28 17:49:42

这是一项简单的任务。让我们试着补充到8的乘数;

代码语言:javascript
运行
复制
public static void main(String[] args) {
    System.out.println(binaryPadLeft(Integer.toBinaryString(127)));
}

private static String binaryPadLeft(String number) {
    StringBuilder b = new StringBuilder();
    int mod = number.length() % 8;
    if (mod > 0)
        for (int i = 0, p = 8 - mod; i < p; i++) {
            b.append('0');
        }
    b.append(number);
    return b.toString();
}

给出01111111

对于120,它屏蔽了01010000

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57243438

复制
相关文章

相似问题

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