Substrahieren

Gast #121715
Hallo,
ich habe gerade ein Problem mit einer Schaltung die 2 16bit Zahlen von
einander substrahieren soll, dies soll sie aber ohne Microcontroller
usw. machen, sondern nur mit standart TTL Bausteinen.
Hat jemand eine Ahnung, wie man das realisieren könnte, ohne hunderte
einzelne und/or usw. Gatter zu benutzen?

Markus
Gast #121717
Ebend. Und notfalls auch das Einerkomplement, dann wird es noch etwas
einfacher. Das eine Ursprungssignal bitweise durch einen Inverter
schicken, dann bitweise durch ein AND-Gatter mit dem anderen Signal
verknüpfen. Das Carry-Bit natürlich auch mit auswerten. Ich müsste mal
in meinem DaDi-Skript gucken, wie das noch mal genau aussah, aber so
ist ja letztlich jede ALU aufgebaut.
#121719
"dies soll sie aber ohne Microcontroller usw. machen, sondern nur mit
standart TTL Bausteinen."

Da dürfte ein Kuchenblech voller 7400 reichen.
Oder eine Turnhalle voller EC92 (Röhren-Triode).

Aber mal im Ernst, wer denkt sich bloß solchen Unsinn aus ???

Ich glaub die 4-Bit-ALU hieß 74181, aber den mußt Du wohl auch schon
aus dem Museum klauen.


Preislich und platzmäßig sinnvoll ist aber nur eine Lösung mit MC oder
CPLD (z.B. XCR3032).

Peter
Gast #121720
ja, das das Unsinn ist, glaub ich auch*g*, aber diese Aufgabe wurde uns
halt leider auf dem TG gestellt. Wir dürfen nur einzelne Gatter oder
auch Volladdierer benutzen. Der Platzbedarf spielt hier weniger eine
Rolle, da wir nur einen Schaltplan entwerfen müssen.

Markus
Gast #121721
Ich hab jetzt bischen rumprobiert und glaube, dass ich eure Antworten
jetzt verstehe*g*


1. Zahl:     11110010       = 242
2. Zahl:     00111101       = 61

Die 1. Zahl bleibt wie sie ist.
Die 2. Zahl wird invertiert
Dann werden beide Zahlen miteinander addiert.

Dan bekommt man das Ergebnis 10110101          = 181

Das müsste dann so stimmen, oder?


Markus
Gast #121722
Ach Volladdierer dürfen benutzt werden? Wie wäre es, wenn der Herr uns
das mal früher mitgeteilt hätte?! ;-)

Die Aufgabe ist doch mega-trivial. K2 bilden (wenn alle Gatter benutzt
werden dürfen, einfach z.B. ein NAND mit zwei identischen Eingängen
benutzen), die beiden Wörter auf die Volladdierer geben und das Carry
jeweils zum Eingang des nächsten durch. That's it.
Gast #121723
Sorry, hab noch vergessen, dass man beim addieren das zu den 1. bits
noch eine 1 dazu zählen muss!!

Bsp:

11110010
00111101

---------------
invertieren

11110010
11000010

----------------
1.bit setzen

11110010
11000010
       1

----------------
addieren

10110101



Markus

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.