Heim > Java > javaLernprogramm > 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
Freigeben: 2023-09-07 23:41:06
nach vorne
1203 Leute haben es durchsucht

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>.
Nach dem Login kopieren

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>.
Nach dem Login kopieren

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));
           }
        }
        Nach dem Login kopieren

        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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage