was ist zu tun bei: Overflow in Booth

sunfy
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 22. Jun 2004 18:15

was ist zu tun bei: Overflow in Booth

Beitrag von sunfy »

Hi,
ich hab mal ne Frage zum Booth-Algorithmus.
Was passiert wenn ich einen Overflow bekomme?
Ist die Aufgabe mit dem Booth dann nicht lösbar, oder wie macht man das?

Bsp.: 2*(-6)

Code: Alles auswählen

  0010*1010
  00001010,0  (0,0)->sra
  00000101,0  (1,0) -> add(komplement), sra
 +0110        (add D´)
  01100101    (sra)
  00110010,1  (0,1) -> add( D), sra
 +1010        (add D)
  11010010    (sra)
  11101001,0  (1,0) -> add( komplement) , sra
 +0110        (add D´)
1 01001001    (sra)   (OV = 1)
  10100100,1  (sra)
 
und was jetzt?
Soll man den OV mit reinschiften, oder wegfallen lassen, oder funktioniert der Algortihmus jetzt nicht mehr?

Gruß Sunfy
Zuletzt geändert von sunfy am 24. Sep 2007 20:20, insgesamt 1-mal geändert.

Edoat
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 242
Registriert: 26. Feb 2007 15:10

Beitrag von Edoat »

In Kap3, Mikroalgorithmen und Rechenwerke für die Grundrechenarten, auf S. 78 steht, dass beim Booth Verfahren keine Überträge auftreten könnten. Ich selber habe mich mit dem Booth Verfahren allerdings noch nicht beschäftigt.

Mich würde in dem Zusammenhang interessieren, ob die Anhänge in den Folien wie z.B. Booth und CRC zum normalen Prüfungsstoff gehören oder das nur als "Dreingabe" mit in die Folien aufgenommen wurde.

Sylvia G.
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 22. Sep 2007 14:30

Beitrag von Sylvia G. »

Also, ich denke, es funktioniert, wenn man den eventuellen Uebertrag, der bei einer Addition entsteht, ignoriert und shiftet, als sei er nicht da....

Hier meine Rechnung:

0010 * 1010

D: 0010, D': 1110

0000,1010,0 - shr

0000,0101,0 - +D', shr
(Zwischenergebnis: 1110,0101,0)
1111,0010,1 - +D, shr
(Zwischenergebnis: 1 0001,0010,1 - und hier den Uebertrag einfach ignorieren)
0000,1001,0 - +D', shr
(Zwischenergebnis: 1110,1001,0)
1111,0100,1

Antworten

Zurück zu „Archiv“