NumPy-Rechtsverschiebungsfunktion

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir uns mit der Funktion right_shift() in der NumPy-Bibliothek vertraut machen. Diese Funktion wird verwendet, um einen Rechtsverschiebungsvorgang auf einem array-ähnlichen Objekt auszuführen. Die Funktion right_shift() verschiebt hauptsächlich die Bits in der binären Darstellung eines Operanden um die angegebene Anzahl von Positionen nach rechts und fügt von links eine entsprechende Anzahl von 0en hinzu. Die interne Darstellung von Zahlen erfolgt im Binärformat; daher entspricht der Rechtsverschiebungsvorgang der Division einer Zahl durch 2^x, wobei x die Anzahl der zu verschiebenden Bits ist. Wir werden die Syntax der Funktion right_shift(), ihre Parameter und die von dieser Funktion zurückgegebenen Werte zusammen mit Codebeispielen behandeln.

Tipps für die virtuelle Maschine (VM)

Nachdem die VM gestartet wurde, klicken Sie in der oberen linken Ecke auf die Registerkarte Notebook, um auf Jupyter Notebook für die Übung zuzugreifen.

Manchmal müssen Sie möglicherweise einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Aufgrund von Einschränkungen in Jupyter Notebook kann die Validierung von Operationen nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie sich gerne an Labby wenden. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem umgehend für Sie lösen.

Importieren der NumPy-Bibliothek

import numpy as np

NumPy ist eine Python-Bibliothek, die für 'Numerical Python' steht. Sie wird verwendet, um Operationen auf großen und komplexen Arrays (Feldern) auszuführen.

Das Verständnis der Funktion right_shift()

Die Funktion right_shift() wird verwendet, um einen Rechtsverschiebungsvorgang auf einem array-ähnlichen Objekt auszuführen. Die Parameter der Funktion sind wie folgt:

Syntax

numpy.right_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
Parameter Beschreibung
x1 repräsentiert den Eingabewert und liegt in Form eines Arrays (Feldes) vor.
x2 gibt die Anzahl der Bits an, die rechts von x1 entfernt werden sollen. Wenn x1.shape!= x2.shape, müssen sie auf eine gemeinsame Form gebracht werden können (broadcastable), und diese Form wird dann die Form der Ausgabe.
out gibt einen Speicherort an, an dem das Ergebnis gespeichert wird. Wenn dieser Parameter angegeben wird, muss er eine Form haben, auf die die Eingaben gebracht werden können. Wenn dieser Parameter nicht angegeben wird oder None ist, wird ein neu zugewiesenes Array zurückgegeben.
where gibt eine Bedingung an, die über die Eingabe verteilt wird (broadcast). An den Stellen, an denen die Bedingung True ist, wird das Ausgabearray auf das Ergebnis der universellen Funktion (ufunc) gesetzt, andernfalls behält das Ausgabearray seinen ursprünglichen Wert bei.

Rückgabewert:

Diese Funktion gibt x1 zurück, wobei seine Bits x2-mal nach rechts verschoben wurden. Wenn sowohl x1 als auch x2 Skalare sind, ist der Rückgabewert ein Skalar.

Beispiel 1

Wir werden die Verwendung der Funktion right_shift() mit einem skalaren Eingabewert veranschaulichen.

input_num = 40
bit_shift = 2

print("The input number is: ")
print(input_num)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_num, bit_shift)
print("After shifting 2 bits to the right: ")
print(output)

Ausgabe:

The input number is:
40
The number of bit shift:
2
After shifting 2 bits to the right:
10

Beispiel 2

Jetzt werden wir die Funktion right_shift() auf ein Eingabe-Array (Feld) anwenden.

input_arr = [8, 28, 55]
bit_shift = [3, 4, 2]

print("The input array is: ")
print(input_arr)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_arr, bit_shift)
print("After shifting bits to the right, the output array is: ")
print(output)

Ausgabe:

The input array is:
[8, 28, 55]
The number of bit shift :
[3, 4, 2]
After shifting bits to the right, the output array is:
[ 1 1 13]

Zusammenfassung

In diesem Lab (Praktikum) haben wir uns mit der Funktion right_shift() der NumPy-Bibliothek beschäftigt, die verwendet wird, um einen Rechtsverschiebungsvorgang auf einem array-ähnlichen Objekt auszuführen. Wir haben ihre grundlegende Syntax, die Parameter und die von dieser Funktion zurückgegebenen Werte zusammen mit Codebeispielen behandelt. Die Funktion right_shift() ist ein wesentliches Werkzeug zur Manipulation der binären Darstellung von Zahlen und kann besonders nützlich sein, um genaue Rechenergebnisse für komplexe numerische Modelle zu erzielen.