【发布时间】:2016-07-27 19:58:10
【问题描述】:
我正在尝试将十进制转换为二进制,但是当我将 128 二进制转换为 11111110 时,我尝试修复计算但仍然得到相同的输出。
import java.lang.*;
public class HA7BinaryErr {
public static void main(String[] argv) {
Scanner input = new Scanner(System.in);
int number = 0;
int factorOfTwo = 0;
// get number to convert from user
do {
System.out.println("Enter the number to convert (0-255): ");
number = input.nextInt();
} while (number < 0 || number > 255);
System.out.println("The number " + number + " converted to binary is : ");
// convert to binary by successively dividing by larger factors of 2
for (factorOfTwo = 1; factorOfTwo <= 128; factorOfTwo *= 2) {
if (number / factorOfTwo >= 1) {
System.out.print("1");
number -= factorOfTwo;
} else
System.out.print("0");
}
} // end of main
}// end of class
【问题讨论】:
-
factorOfTwo出错的第一个值是什么? -
如果您要求人们尝试阅读,请始终缩进您的代码。
-
一行:docs.oracle.com/javase/7/docs/api/java/lang/… 你可以通过进入 JDK 中的 src.zip 存档并打开 Integer.java 来查看 Integer 是如何实现的
-
您正在尝试将 binary 转换为二进制 ASCII。
nextInt()返回二进制。int是二进制的。一切都是二进制的。
标签: java