Heim  >  Artikel  >  Java  >  Kehren Sie die tatsächlichen Bits einer bestimmten Zahl in Java um

Kehren Sie die tatsächlichen Bits einer bestimmten Zahl in Java um

PHPz
PHPznach vorne
2023-09-07 23:41:061168Durchsuche

Kehren Sie die tatsächlichen Bits einer bestimmten Zahl in Java um

Gegeben sei eine nicht negative ganze Zahl n. Das Ziel besteht darin, die Bits von n zu invertieren und die resultierende Zahl zu melden. Beim Invertieren von Bits wird die tatsächliche Binärform der Ganzzahl verwendet; führende Nullen werden nicht berücksichtigt.

Schauen wir uns verschiedene Ein- und Ausgabesituationen an

Eingabe − 13

Ausgabe − Invertieren Sie die tatsächlichen Bits der angegebenen Zahl 11

(13)<sub>10</sub> = (1101)<sub>2</sub>.
After reversing the bits, we get:
(1011)<sub>2</sub> = (11)<sub>10</sub>.

Erklärung − Holen Sie sich die Binärbits aus der Eingabezahl und dann It wird invertiert und schließlich in das Dezimalformat konvertiert und als Ausgabe zurückgegeben.

Eingabe − 18

Ausgabe − Kehren Sie die tatsächlichen Ziffern der angegebenen Zahl 9 um.

(18)<sub>10</sub> = (10010)<sub>2</sub>.
After reversing the bits, we get:
(1001)<sub>2</sub> = (9)<sub>10</sub>.

Erläuterung − Die Binärbits werden aus der Eingabezahl entnommen, dann invertiert und schließlich in das Dezimalformat konvertiert, das als Ausgabe zurückgegeben wird.

Die im Programm unten verwendete Methode ist wie folgt:

  • In der Hauptmethode

    • Geben Sie die Zahl ein und übergeben Sie sie an die MethodereverseBinaryBits(int input)

  • In der Methode reverseBinaryBits(int input) intern

    • Initialisieren Sie die Variable rev_input, um die umgekehrten Bits zu speichern

    • Die Schleife iteriert, bis die Eingabe größer als 0 ist (wir beginnen mit der Durchquerung von rechts)

      • Verwenden Sie ein Bit richtig Schiebeoperation, um Stück für Stück die binäre Darstellung von n jedem Bit abzurufen und sie mithilfe einer Bit-Links-Schiebeoperation zu rev ​​zu akkumulieren Ausgabe

        class TutorialsPoint{
           public static int reverseBinaryBits(int input){
              int rev_input = 0;
              while (input > 0){
                 rev_input <<= 1;
                 if ((int) (input & 1) == 1){
                    rev_input ^= 1;
                 }
                 input >>= 1;
              }
              return rev_input;
           }
           public static void main(String[] args){
              int input = 13;
              System.out.println("Reverse actual bits of the given number");
              System.out.println(reverseBinaryBits(input));
           }
        }

Das obige ist der detaillierte Inhalt vonKehren Sie die tatsächlichen Bits einer bestimmten Zahl in Java um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen