[英]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.