簡體   English   中英

以二進制表示反轉整數

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

二進制中的6110 該算法反向輸出這些位。

這些是程序應用的測試和我的結果。

輸入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

二進制中的6110 該算法反向輸出這些位。

這些是程序應用的測試和我的結果。

輸入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

二進制中的6110 該算法反向輸出這些位。

這些是程序應用的測試和我的結果。

輸入6

你的輸出binary is:110

預期產出011

輸入19

你的輸出10011

預期產量11001

輸入255

你的輸出11111111

預期輸出11111111

這方面的任何幫助或指導,我將不勝感激。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM