<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Bit-Pair-Verfahren</id>
	<title>Bit-Pair-Verfahren - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Bit-Pair-Verfahren"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Bit-Pair-Verfahren&amp;action=history"/>
	<updated>2026-06-07T15:44:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Bit-Pair-Verfahren&amp;diff=1399648&amp;oldid=prev</id>
		<title>imported&gt;Phzh: Form, typo</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Bit-Pair-Verfahren&amp;diff=1399648&amp;oldid=prev"/>
		<updated>2021-03-27T17:54:26Z</updated>

		<summary type="html">&lt;p&gt;Form, typo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Bit-Pair-Verfahren&amp;#039;&amp;#039;&amp;#039; (eng. &amp;#039;&amp;#039;Bit-Pair-Recoding&amp;#039;&amp;#039;) ist ein [[Algorithmus]] zur Beschleunigung computergestützter [[Multiplikation]] zweier Zahlen in [[Zweierkomplement]]-Darstellung. Er stellt eine Erweiterung des [[Booth-Algorithmus]] dar.&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
&lt;br /&gt;
Wird eine Zahl &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; mit 2 multipliziert und anschließend von der entstandenen Zahl subtrahiert, ergibt sich wieder &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;:&lt;br /&gt;
*&amp;lt;math&amp;gt;2x - x = x&amp;lt;/math&amp;gt;&lt;br /&gt;
Analog:&lt;br /&gt;
*&amp;lt;math&amp;gt;-2x + x = -x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der [[Booth-Algorithmus]] allerdings generiert unter Umständen Code, der solche (unnötigen) Berechnungen durchführen würde. Das lässt sich durch das Bit-Pair-Verfahren vereinfachen.&lt;br /&gt;
&lt;br /&gt;
== Verfahren ==&lt;br /&gt;
&lt;br /&gt;
Benachbarte „*(+1)“ und „*(-1)“ im Booth-Code werden wie folgt zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Booth-Code:&lt;br /&gt;
| …&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | +1&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | −1&lt;br /&gt;
| …&lt;br /&gt;
|-&lt;br /&gt;
| nach Vereinfachung:&lt;br /&gt;
| …&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | 0&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | +1&lt;br /&gt;
| …&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Booth-Code:&lt;br /&gt;
| …&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | −1&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | +1&lt;br /&gt;
| …&lt;br /&gt;
|-&lt;br /&gt;
| nach Vereinfachung:&lt;br /&gt;
| …&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | 0&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | −1&lt;br /&gt;
| …&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Es entfällt eine Addition. Die Berechnung wird effizienter.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
Es soll &amp;lt;math&amp;gt;3 * 89&amp;lt;/math&amp;gt; berechnet werden.&lt;br /&gt;
*&amp;lt;math&amp;gt;3_{10} = 00000011_2&amp;lt;/math&amp;gt;&lt;br /&gt;
*&amp;lt;math&amp;gt;89_{10} = 01011001_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf den Faktor 89&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt; werden nacheinander die entsprechenden Verfahren angewandt:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| 89&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;=&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| nach Anwendung des Booth-Algorithmus:&lt;br /&gt;
| +1&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | −1&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | +1&lt;br /&gt;
| 0&lt;br /&gt;
| −1&lt;br /&gt;
| 0&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | +1&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | −1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| nach Anwendung des Bit-Pair-Verfahrens:&lt;br /&gt;
| +1&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | 0&lt;br /&gt;
| bgcolor=&amp;quot;#ccccff&amp;quot; | −1&lt;br /&gt;
| 0&lt;br /&gt;
| −1&lt;br /&gt;
| 0&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | 0&lt;br /&gt;
| bgcolor=&amp;quot;#FFcccc&amp;quot; | +1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Berechnung erfolgt analog zum Booth-Algorithmus:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|1&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|1&lt;br /&gt;
| 3&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!x&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#EEEEEE&amp;quot;|&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;| +1&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;| −1&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;| 0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;| −1&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;|0&lt;br /&gt;
! style=&amp;quot;background:#666666&amp;quot;| +1&lt;br /&gt;
|Kodierung des 2. Faktors&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
| 3&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|keine Addition&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|keine Addition&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|2er Komplement von 3&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|keine Addition&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|2er Komplement von 3&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot; |0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|keine Addition&lt;br /&gt;
|-&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
| 3&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|1&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|1&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|0&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|1&lt;br /&gt;
|bgcolor=&amp;quot;#666666&amp;quot;|1&lt;br /&gt;
|Ergebnis ohne Überlauf&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|bgcolor=&amp;quot;#EEEEEE&amp;quot;|&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|Übertrag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;math&amp;gt;0100001011_2 = 267_{10} = 3_{10} * 89_{10}&amp;lt;/math&amp;gt;&lt;br /&gt;
Das Ergebnis ist korrekt, ausgeführt allerdings mit 4 Additionsoperationen, statt mit 6. Es sei angemerkt, dass hier nur zu Beispielzwecken 89 statt 3 mit den Algorithmen vereinfacht wurde. Praktisch wäre es natürlich in diesem Fall am effizientesten 89 * 3 „direkt“ zu berechnen. Das würde nur 2 Additionen erfordern.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* [http://www.dauniv.ac.in/downloads/CArch_PPTs/CompArchCh03L05BoothAlgor.pdf Arithmetic Multiplication Circuits] (engl.; PDF-Datei; 134&amp;amp;nbsp;kB)&lt;br /&gt;
* {{Literatur |Autor=T. N. Rajashekhara, O. Kal |Titel=Fast multiplier design using redundant signed-digit numbers |Sammelwerk=International Journal of Electronics |Band=69 |Nummer=3 |Datum=1990-09 |ISSN=0368-1947 |Seiten=359–368 |DOI=10.1080/00207219008920321}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus]]&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Phzh</name></author>
	</entry>
</feed>