java - 将基数 10 转换为二进制

标签 java string binary stringbuilder

<分区>

通过大量的反复试验,我意识到 k不能递增到输出二进制文件的长度值。所以对于这段代码,k设置为递增到小于 4 (k < 4)所以我只能测试 8 到 15,因为它们的二进制值长度不超过 4。

此外,这些值是反向打印的。关于如何解决这两个错误的任何想法? 注释行是在我尝试使用 StringBuilder 时但这没有成功。

 Scanner scan = new Scanner(System.in);
 int num = 0;
 int test = scan.nextInt();
 //StringBuilder sb = new StringBuilder();

  for(int i = 0; i < test ; i++) {

    int a = scan.nextInt();
    for( int k = 0; k < 4; k++ )
         {
           num = a / 2;
           int remainder = a % 2;
          //String noodle = Integer.toString(remainder);
          a = num;
          //sb.append(noodle);
          //System.out.print(sb);
          System.out.println(remainder);

        }
    }

最佳答案

如果您希望算法执行此操作,请在此处:

StringBuilder result = new StringBuilder();

while(num > 0) {
    int r = num % 2;
    num /= 2;
    result.append(r.toString());
}
System.out.println(result.reverse().toString());

它基本上和你做同样的事情,但一直持续到 num = 0。

关于java - 将基数 10 转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759934/

相关文章:

java - 如何将 Java 控制台输出通过管道传输到文件?

c++ - 在C++中将多个字符 append 到字符串

C++:不规则大小二进制码字的快速连接

c++ - 将文件编码为 1/0 二进制文件并在 C++ 中从中重建原始文件

go - 为自定义存储库创建go二进制文件作为debian二进制文件包

java - 线程作为构造函数或 run()

java - 将元数据添加到数组实例

java - 如何在一个 jar 中导出多个同名文件?

c# - 如何将字符串解析为日期时间?

C# 正则表达式。大括号{}和 mod(%) 字符内的所有内容