java - 如何使用for循环将十进制转换为二进制?

标签 java base-conversion

/* This program converts decimal to binary */

import javax.swing.JOptionPane;

public class BinaryLoop {
public static void main(String []args) {

    String askForDecimal = JOptionPane.showInputDialog("Enter the decimal number you would like to convert?");
    int decimalNumber = Integer.parseInt(askForDecimal);

    int remainder = 0;
    for (int i = 1; decimalNumber > 0; i++) {

            decimalNumber /= 2;
            remainder = decimalNumber % 2;
            System.out.print(remainder);
        }

    }
}

例如,我输入 15,但它返回 1110,本应是 1111。 附注结果将从右向左读取。

最佳答案

decimalNumber /= 2;
remainder = decimalNumber % 2;

这两行的顺序应该相反。你能明白为什么吗?

关于java - 如何使用for循环将十进制转换为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502420/

相关文章:

python - 为什么这些基本转换器给出不同的答案?

将 10 进制转换为 6 进制

Java基数转换程序给定值、其基数和新基数

java - java无法解析textArea

java - 关于实例变量初始化的线程安全

滚动 Pane 内的 JavaFX 坐标

java - 集群 tomcat 的同步/互斥

java - 如何: Java Server Socket response and Client reading

c++ - 使用位运算符将十进制转换为八进制

haskell - 在 Haskell 中将负基二进制转换为十进制 : "Instances of .. required"