Was ist eine arithmetische Verschiebung?

Eine arithmetische Verschiebung ist eine Methode zum Multiplizieren oder Teilen von Zahlen. Arithmetische Verschiebungen werden normalerweise für Binärzahlen ausgeführt. Das Konzept ist jedoch auf jedes Nummerierungsschema anwendbar.

Das folgende Beispiel verwendet Dezimalzahlen mit zehn als Basis. Wenn 250 arithmetisch nach links verschoben wird, ergibt sich eine Zahl von 2500, die 250 multipliziert mit zehn ergibt. Wenn 250 mit 4 Ziffern als 0250 dargestellt und rechnerisch nach rechts verschoben wird, ergibt sich die Zahl 0025, die 250 geteilt durch zehn ist. Es ist also korrekter zu sagen, dass eine arithmetische Verschiebung ein Weg ist, um Zahlen mit der Basis des Zahlenschemas zu multiplizieren oder zu dividieren.

Binärzahlen haben 2 als Basis; Sie werden mit 0 und 1 dargestellt und können signiert oder nicht signiert sein. Bei einer arithmetischen Linksverschiebung werden die Zahlen um ein Leerzeichen nach links verschoben, wobei rechts null steht. Bei einer arithmetischen Verschiebung nach rechts werden die Zahlen um ein Leerzeichen nach rechts verschoben, wobei die am weitesten links stehende Zahl nach links verschoben bleibt. Im Allgemeinen kann eine Verschiebung für "n" Leerzeichen erfolgen.

In vorzeichenlosen Binärzahlen ist jede Position eine Potenz von 2, dh Binär 1 ist Dezimal 1, Binär 10 ist Dezimal 2, Binär 100 ist Dezimal 4 und so weiter. 0110 ist also Dezimal 6. Wenn eine arithmetische Linksverschiebung ausgeführt wird, ist die resultierende Zahl 1100, was Dezimal 12 ist. Wenn eine arithmetische Rechtsverschiebung ausgeführt wird, ist die resultierende Zahl 0011, was Dezimal 3 ist.

Da Zahlen sowohl positiv als auch negativ sein können, werden vorzeichenbehaftete Binärzahlen verwendet, wobei das Bit ganz links 0 für eine positive Zahl oder Null und 1 für eine negative Zahl ist. Für 4-Bit-Zahlen ist 0111, also die Dezimalzahl 7, die größte positive Zahl. Das Schema, das am häufigsten für negative Zahlen verwendet wird, hat 1111 als Dezimalzahl -1 und dies geht bis hinunter zu 1000, was einer Dezimalzahl von -8 entspricht.

Eine arithmetische Linksverschiebung auf 1101, die beispielsweise dezimal -3 ist, führt zu 1010, was dezimal -6 ist. Eine arithmetische Rechtsverschiebung auf 1010, die -6 dezimal ist, ergibt 1101, die -3 dezimal ist. Beachten Sie, dass das Bit ganz links beibehalten wird.

Eine arithmetische Verschiebung entspricht nicht immer einer Multiplikation und Division für jede einzelne Zahl im Zahlenschema. An beiden Enden des Nummernschemas gibt es Einschränkungen. Beispielsweise ergibt die Verschiebung von 0111 nach links, Dezimalzahl 7, eine Dezimalzahl von -2, und die Verschiebung von 1111 nach rechts, Dezimalzahl -1, eine Dezimalzahl von -1.

Eine arithmetische Verschiebung ist von Natur aus einfach, und eine Verschiebung ist viel schneller durchzuführen als eine normale Multiplikation und Division. Computer unterstützen diesen Vorgang also mit einem relativ einfachen Mechanismus, der als Verschiebungseinheit oder Schieberegister bezeichnet wird. Versierte Programmierer nutzen diesen Vorgang, solange die oben genannten Einschränkungen vermieden oder beseitigt werden.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?