[英]Reversing an integer in binary representation
我试图创建一个代码来在 Java 中接收一个整数并以二进制形式输出它。 问题似乎是二进制文件向后打印。 例如, 6
应该输出为011
但输出为110
。
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
int userNum;
Scanner in =new Scanner(System. in );
userNum = in.nextInt();
binary(userNum);
System.out.print("\n");
}
private static void binary(int userNum) {
int remainder;
while (userNum <= 1) {
System.out.print(userNum);
return;
}
remainder = userNum % 2;
binary(userNum >> 1);
System.out.print(remainder);
}
}
我尝试合并一个推栈,将剩余部分推入一个我稍后可以拉出的堆栈中,但无法让它落地。
private static void reverse(int userNum) {
String backwards;
while (userNum >= 0) {
backwards.push(int userNum);
System.out.println(backwards);
return;
}
}
它是要求以下内容的课堂作业的一部分。
编写一个程序,将一个正整数作为输入,并输出一个由 1 和 0 组成的字符串,以二进制表示该整数。 对于整数 x,算法为:
As long as x is greater than 0
Output x % 2 (remainder is either 0 or 1)
x = x / 2
注意:上述算法以相反的顺序输出 0 和 1。
例如:如果输入是:
6
输出是:
011
二进制中的6
是110
; 该算法反向输出这些位。
这些是程序应用的测试和我的结果。
输入6
你的输出binary is:110
预期产出011
输入19
你的输出10011
预期产量11001
输入255
你的输出11111111
预期输出11111111
这方面的任何帮助或指导,我将不胜感激。
根据要求而不考虑负数
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
int userNum;
Scanner scnr = new Scanner(System.in);
userNum = scnr.nextInt();
while(userNum > 0){
System.out.print(userNum % 2);
userNum = userNum / 2;
}
System.out.print("\n");
}
}
我试图创建一个代码来在 Java 中接收一个整数并以二进制形式输出它。 问题似乎是二进制文件向后打印。 例如, 6
应该输出为011
但输出为110
。
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
int userNum;
Scanner in =new Scanner(System. in );
userNum = in.nextInt();
binary(userNum);
System.out.print("\n");
}
private static void binary(int userNum) {
int remainder;
while (userNum <= 1) {
System.out.print(userNum);
return;
}
remainder = userNum % 2;
binary(userNum >> 1);
System.out.print(remainder);
}
}
我尝试合并一个推栈,将剩余部分推入一个我稍后可以拉出的堆栈中,但无法让它落地。
private static void reverse(int userNum) {
String backwards;
while (userNum >= 0) {
backwards.push(int userNum);
System.out.println(backwards);
return;
}
}
它是要求以下内容的课堂作业的一部分。
编写一个程序,输入一个正整数作为输入,并输出一个由 1 和 0 组成的字符串,以二进制表示该整数。 对于整数 x,算法为:
As long as x is greater than 0
Output x % 2 (remainder is either 0 or 1)
x = x / 2
注意:上述算法以相反的顺序输出 0 和 1。
例如:如果输入是:
6
输出是:
011
二进制中的6
是110
; 该算法反向输出这些位。
这些是程序应用的测试和我的结果。
输入6
你的输出binary is:110
预期产出011
输入19
你的输出10011
预期产量11001
输入255
你的输出11111111
预期输出11111111
这方面的任何帮助或指导,我将不胜感激。
我试图创建一个代码来在 Java 中接收一个整数并以二进制形式输出它。 问题似乎是二进制文件向后打印。 例如, 6
应该输出为011
但输出为110
。
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
int userNum;
Scanner in =new Scanner(System. in );
userNum = in.nextInt();
binary(userNum);
System.out.print("\n");
}
private static void binary(int userNum) {
int remainder;
while (userNum <= 1) {
System.out.print(userNum);
return;
}
remainder = userNum % 2;
binary(userNum >> 1);
System.out.print(remainder);
}
}
我尝试合并一个推栈,将剩余部分推入一个我稍后可以拉出的堆栈中,但无法让它落地。
private static void reverse(int userNum) {
String backwards;
while (userNum >= 0) {
backwards.push(int userNum);
System.out.println(backwards);
return;
}
}
它是要求以下内容的课堂作业的一部分。
编写一个程序,输入一个正整数作为输入,并输出一个由 1 和 0 组成的字符串,以二进制表示该整数。 对于整数 x,算法为:
As long as x is greater than 0
Output x % 2 (remainder is either 0 or 1)
x = x / 2
注意:上述算法以相反的顺序输出 0 和 1。
例如:如果输入是:
6
输出是:
011
二进制中的6
是110
; 该算法反向输出这些位。
这些是程序应用的测试和我的结果。
输入6
你的输出binary is:110
预期产出011
输入19
你的输出10011
预期产量11001
输入255
你的输出11111111
预期输出11111111
这方面的任何帮助或指导,我将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.