<Desc/Clms Page number 1>
Einrichtung zur Konvertierung von Dezimalzahlen in Binärzahlen oder um- gekehrt
Die Erfindung betrifft eine Einrichtung zur Konvertierung von Dezimalzahlen in Binärzahlen oder umgekehrt und eignet sich besonders zur Verwendung in elektronischen Digitalrechenmaschinen und ähnlichen programmgesteuerten Anlagen. !
Rechenmaschinen und andere Einrichtungen, die im rein binären Zahlensystem arbeiten, erfordern die Umrechnung von Zahlen aus dem Dezimalsystem und umgekehrt bei der Eingabe bzw. Ausgabe der am Rechenprozess beteiligten Grössen. Zu diesem Zweck sind verschiedene Algorithmen bzw. Rechenverfahren bekannt, bei denen die Rechenmaschinen mit einer gesonderten Steuereinrichtung versehen sind, die die erforderlichen Rechenprozesse in der richtigen Reihenfolge einleitet oder es sind in der Maschine zyklisch Unterprogramme, die z.
B. etwa 60 Befehle oder mehr enthalten, vorgesehen, welche in der richtigen Reihenfolge die Elementaroperationen entsprechend der Rechenvorschrift des betreffenden Algorithmus in der Maschine aufrufen, Beide Verfahren haben den Nachteil, dass das ganze Rechenwerk für die Umwandlung benötigt wird, so dass die Maschine während der Umwandlungszeit keine andere Rechenarbeit leisten kann. Ausserdem ist entweder ein erheblicher Aufwand an Steuereinrichtungen erforderlich oder es wird ein grosser Teil des Speichers für das erforderliche Unterprogramm belegt und ist daher für die eigentliche Rechenarbeit der Maschine nicht mehr verfügbar.
Auch sind die Algorithmen, die von einer rein binären Maschine zur Konvertierung durchgeführt werden können, ziemlich umfangreich, erfordern also eine grosse Anzahl von Operationen und damit eine erhebliche Zeit, die zu der eigentlichen Rechenzeit hinzukommt.
Bei der Erfindung sind nur verhältnismässig einfache Verknüpfungsnetzwerke mit einem sehr geringen Aufwand an Steuermitteln und ein Register erforderlich, während die Speicherkapazität der Rechenmaschine selbst nicht in Anspruch genommen wird. So ist eine Konvertierung ohne Inanspruchnahme des ganzen Rechenwerkes möglich.
Die Erfindung macht von einem besonders einfachen Algorithmus Gebrauch, dessen Verwendung zur Dezimal-Binär-Konvertierung an sich bekannt ist. Bei der bekannten Anordnung
EMI1.1
unter gleichzeitiger Halbierung hin- und hergeworfen wird, wobei das Auftreten einer ungeraden Ziffer in der niedrigsten Stelle jeweils die Registrierung einer Eins in der betreffenden Binärstelle bewirkt.
Im folgenden soll zunächst der verwendete einfache Algorithmus kurz beschrieben werden : Ein echter Dezimalbruch von der Form
EMI1.2
(dut = 0, 1,1 (b-i = 0, L)... (L = binäre Eins) umgewandelt, indem schrittweise nacheinander mit 2 multipliziert wird. Nach der ersten Multiplikation sagt die erste Stelle (übertrag) vor dem Komma an, ob der Faktor zin dem zugehörigen Binärbruch vorkommt oder nicht. Nach der zweiten Multiplikation rückt diese zuerst gefundene Binärziffer um eine Stelle weiter nach links, während direkt vor dem Komma entweder eine Null oder eine Eins neu entsteht. Diese Ziffer zeigt in ähnlicher Weise an, ob der Faktor 1/4 = 2-2 in dem neu entstehenden Binärbruch vorkommt oder nicht. Schrittweise kann so die ganze Binärzahl als Zahl links vor dem Komma
<Desc/Clms Page number 2>
gefunden werden.
Dabei ist jeweils der linke Teil der Zahl (der ganze Teil) binär mit 2 zu multiplizieren, (d. h. um eine Stelle nach links zu verschieben) während der rechte Teil (gebrochene Teil) dezimal mit 2 zu multiplizieren ist.
Es ist :
EMI2.1
(b-,. 2-'). 2 + n Binärstellen nach links verschoben vor dem gedachten Dezimalkomma, während die Ziffern d'-k'd"-k usw. sich den Gesetzen der Arithmetik gemäss aus der Multiplikation der Zahl mit 2 ergeben. Der Prozess wird abgebrochen, wenn die Binärzahl mit genügender Genauigkeit der Dezimalzahl gleich ist.
Zuletzt erhält man :
EMI2.2
Zur Veranschaulichung sei gezeigt, wie der echte Dezimalbruch 0, 413 in einen Binär-
EMI2.3
EMI2.4
<tb>
<tb> :0, <SEP> 0, <SEP> 413 <SEP>
<tb> 0, <SEP> 0 <SEP> 0, <SEP> 826 <SEP>
<tb> 0,0L <SEP> # <SEP> 1,652
<tb> 0,0LL <SEP> # <SEP> 1,304
<tb> 0, <SEP> OLLO <SEP> 0, <SEP> 608 <SEP>
<tb> 0,0LL0L <SEP> # <SEP> 1,216
<tb> O, <SEP> OLLOLO <SEP> 0, <SEP> 432 <SEP>
<tb> O, <SEP> OLLOLOO <SEP> 0, <SEP> 864 <SEP>
<tb> 0,0LL0L00L <SEP> # <SEP> 1,728
<tb> O, <SEP> OLLOLOOLL <SEP> +- <SEP> 1, <SEP> 456 <SEP>
<tb> O, <SEP> OLLOLOOLLO <SEP> 0, <SEP> 912 <SEP>
<tb>
Dabei bedeutet ein Pfeil jeweils die Entstehung einer dezimalen Eins, welche als binäre L auf die linke Seite hinübergezogen wird.
Man erkennt, dass der Prozess unendlich oft fortgesetzt werden könnte, jedoch zweckmässig aus den obengenannten Gründen bei M=10 abzubrechen ist (2' ge 103).
Ganze Dezimalzahlen werden in analoger Weise durch schrittweise Division durch 2, umgewandelt.
Zur Veranschaulichung sei die Umwandlung der ganzen Dezimalzahl 413 in eine Binärzahl dargestellt :
Tabelle 2
EMI2.5
<tb>
<tb> 413
<tb> 206 <SEP> Rest <SEP> 1-L <SEP>
<tb> 103 <SEP> Rest <SEP> 0 <SEP> OL
<tb> 51 <SEP> Rest <SEP> 1 <SEP> -+ <SEP> LOL
<tb> 25 <SEP> Rest <SEP> 1 <SEP> -+ <SEP> LLOL <SEP>
<tb> 12 <SEP> Rest <SEP> 1 <SEP> LLLOL
<tb> 6 <SEP> Rest <SEP> 0 <SEP> OLLLOL
<tb> 3 <SEP> Rest <SEP> 0 <SEP> OOLLLOL
<tb> l <SEP> Rest <SEP> l- <SEP> LOOLLLOL <SEP>
<tb> 0 <SEP> Rest <SEP> 1 <SEP> LLOOLLLOL <SEP>
<tb>
Unter Anwendung der vorstehend geschilderten Algorithmen ist eine Einrichtung zur Konventierung von Dezimalzahlen in Binärzahlen oder umgekehrt mit einem zweiteiligen Verschiebe-Register versehen, dessen erster Teil zur Aufnahme der Dezimalzahl in ziffernmässiger z.
B. als Binärtetraden verschlüsselter Form und dessen zweiter Teil zur Aufnahme der Binärzahl dient. Weiterhin ist ein Verknüpfungsnetzwerk vorgesehen, welches die in einem der beiden Registerteile stehende Zahl durch schrittweise Multiplikation (Linksverschiebung) bzw. Division (Rechtsverschiebung) mit 2 vom einen Registerteil in den anderen Registerteil verschiebt und welches zwischen je zwei Verschiebungen um eine Stelle eine Prüfung auf Auftreten von nicht gültigen Tetraden oder gegebenenfalls von Überträgen vornimmt, und entsprechende Korrekturen an den betreffenden Tetraden durchführt. Zur Konvertierung echter Brüche ist. z.
B. der rechte Teil des Registers zur Aufnahme des in Tetraden verschlüsselten Dezimalbruches und der linke Teil zur Aufnahme des Binärbruches vorgesehen, so dass bei Konvertierung eines Dezimalbruches in einen Binärbruch sich der letztere aus den bei schrittweiser Multiplikation mit 2 auftretender überläufen der die Zehntel darstellenden Tetrade aufbaut. Zur Konvertierung ganzer Zahlen ist z. B. der linke Teil des Registers ; zur Aufnahme der in Tetraden verschlüsselten Dezimalzahl und der rechte Teil zur Aufnahme der Binärzahl vorgesehen, so dass bei Konvertierung einer Dezimalzahl in eine Binärzahl sich die letztere aus den bei schrittweiser Division mit 2 in den Binärteil übertretenden Resten der die Einer darstellenden Tetrade aufbaut.
Im folgenden wird der Deutlichkeit halber von einem #linken" und einem #rechten" Re- gisterteil (B bzw. D) gesprochen. Hierunter soll keine Einschränkung verstanden werden.
<Desc/Clms Page number 3>
Linker sowie rechter Registerteil beinhalten je eine Wortlänge, der linke Teil eine binäre Wortlänge von M Binärziffern und der rechte Teil eine dezimale Wortlänge von N Dezimalziffern, gemäss Beziehung 2M as iON. Die beiden Teile können ebensogut als zwei getrennte Register aufgefasst werden, die in geeigneter Weise, auch ringförmig, verknüpft sein können.
Praktisch wird man sowohl für echte Brüche wie für ganze Zahlen jeweils den gleichen Registerteil für die Dezimalzahlen bzw. die Binärzahlen verwenden. Wird z. B. stets der rechte Registerteil für die Dezimalzahlen verwendet, so muss bei Umwandlung ganzen Zahlen nur dafür gesorgt sein, dass das rechte Ende des Registers mit dem linken Ende verbunden ist, so dass die bei Division durch "Zwei" rechts heraustretenden Reste von links in den Binärteil eingespeist werden, bzw. die bei Multiplikation mit "Zwei" links heraustretenden überläufe von rechts wieder in den Dezimalteil hineinlaufen.
Fig. 1 zeigt schematisch ein solches Register, bestehend aus dem Binärteil B und dem Dezimalteil D. Der letztere besteht aus M=3 Tetraden zu je vier Stellen, der Binärteil B entsprechend aus N=10 Stellen, Jede Stelle des Registers ist z. B. in bekannter Weise durch einen Flip-Flop dargestellt. Die Flip-Flops sind derart zusammengeschaltet, dass durch einen Impuls aus der Impulsquelle R eine Verschiebung des Registerinhalts um eine Stelle nach rechts und durch einen Impuls aus der Quelle L um eine Stelle nach links erfolgt.. Ausserdem sind die Flip-Flops des Dezimalteiles mit Eingangsklemmen versehen (in Fig. 1 nicht dargestellt), um ein "Wech- seln" in jeder einzelnen Stelle durchführen zu können.. Der Zweck dieser Einrichtung wird weiter unten an Hand der Fig. 2 erläutert.
Auch durch die in der Beschreibung ! erwähnten Flip-Flops soll keine Einschränkung vorgenommen werden. Grundsätzlich ist für die hier beschriebenen Operationen jede Form der Registerelemente, statische oder dynamische, geeignet. Zur Vereinfachung der Beschreibung wurde ausserdem in Verbindung mit der Annahme von Flip-Flops die Opera-
EMI3.1
"Wechseln" angenommen."Setzen" bzw. "Löschen".
Zur Veranschaulichung der Arbeitsweise des Registers sei das zur Erläuterung des Algo- rithmus-für die Konvertierung eines echten Dezimalbruches in einen Binärbruch in Tabelle 1 unter Verwendung der Tetradendirektverschlüsselung an Hand der Tabelle 3 dargestellt. Hier bedeutet B wieder den linken Teil des Registers, in dem sich schrittweise durch Linksverschiebung der Binärbruch aufbaut, während I, II und III den rechten Teil D des Registers darstellen, in dem am Anfang, der Operation die Zehntel, Hundertstel bzw Tausendstel des Dezimalbruches 0, 413 in Tetradenverschlüsselung stehen.
EMI3.2
EMI3.3
<tb>
<tb> IM <SEP> HM <SEP> B <SEP> 1 <SEP> II <SEP> in <SEP> Dez.
<tb>
OLOO <SEP> OOOL <SEP> OOLL, <SEP> 413 <SEP>
<tb> a <SEP> Verschiebung, <SEP> 0 <SEP> LOOO <SEP> OOLO <SEP> OLLO
<tb> 1 <SEP> Korr <SEP> : <SEP> keine <SEP>
<tb> b, <SEP> 0. <SEP> LOGO <SEP> OOLO <SEP> OLLO, <SEP> 826
<tb> a <SEP> Verschiebung, <SEP> OL <SEP> 0000 <SEP> OLOO <SEP> LLOO <SEP>
<tb> 2 <SEP> Kort <SEP> : <SEP> 1 <SEP> u. <SEP> III <SEP> WW <SEP> W <SEP> WWW
<tb> b, <SEP> OL <SEP> OLLO <SEP> OLOL <SEP> OOLO, <SEP> 652 <SEP>
<tb> a <SEP> Verschiebung, <SEP> OLO <SEP> LLOO <SEP> LOLO <SEP> OLOO
<tb> 3 <SEP> Kort <SEP> : <SEP> 1 <SEP> u. <SEP> II <SEP> W <SEP> WWWW <SEP> WW
<tb> b, <SEP> OLL. <SEP> OOLL <SEP> 0000 <SEP> OLOO <SEP> 304
<tb> a <SEP> Verschiebung, <SEP> OLLO <SEP> OLLO <SEP> 0000 <SEP> LOOO
<tb> 4 <SEP> Korr <SEP> :
<SEP> II <SEP> u. <SEP> TII
<tb> b, <SEP> OLLO <SEP> OLLO <SEP> 0000 <SEP> LOGO, <SEP> 608
<tb> a <SEP> Verschiebung, <SEP> OLLOO <SEP> LLOO <SEP> OOOL <SEP> 0000
<tb> 5 <SEP> Korr <SEP> : <SEP> II <SEP> u. <SEP> III <SEP> W <SEP> WWW <SEP> WW <SEP>
<tb> b, <SEP> OLLOL <SEP> OOLO <SEP> OOOL <SEP> OLLO, <SEP> 216
<tb> a <SEP> Verschiebung, <SEP> OLLOLO <SEP> OLOO <SEP> OOLO <SEP> LLOO
<tb> 6 <SEP> Korr <SEP> : <SEP> III <SEP> W <SEP> WWW
<tb> b <SEP> OLLOLO <SEP> OLOO <SEP> OOLL <SEP> OOLO, <SEP> 432 <SEP>
<tb>
<Desc/Clms Page number 4>
EMI4.1
<tb>
<tb> Sdlrllt <SEP> Takt <SEP> B <SEP> I <SEP> II <SEP> III <SEP> I <SEP> Dez. <SEP>
<tb> a <SEP> Verschiebung, <SEP> OLLOLOO <SEP> LOGO <SEP> OLLO <SEP> OLOO <SEP>
<tb> 7 <SEP> Korr <SEP> :
<SEP> keine
<tb> b, <SEP> OLLOLOO <SEP> LOOO <SEP> OLLO <SEP> OLOO, <SEP> 864
<tb> a <SEP> Verschiebung, <SEP> OLLOLOOL <SEP> 0000 <SEP> LLOO <SEP> LOOO
<tb> 8 <SEP> Kort <SEP> : <SEP> 1 <SEP> u. <SEP> II <SEP> WW <SEP> WWW
<tb> b <SEP> OLLOLO. <SEP> OL <SEP> OLLL <SEP> OOLO <SEP> LOOO <SEP> 728 <SEP>
<tb> a <SEP> Verschiebung <SEP> OLLOLOOLO <SEP> LLLO <SEP> OLOL <SEP> 0000
<tb> 9 <SEP> Korr <SEP> :
<SEP> I <SEP> u. <SEP> III <SEP> W <SEP> WW <SEP> WW
<tb> b, <SEP> OLLOLOOLL <SEP> OLOO <SEP> OLOL <SEP> OLLO, <SEP> 456 <SEP>
<tb> 10 <SEP> a <SEP> Verschiebung, <SEP> OLLOLOOLLO <SEP> LOOO <SEP> LOLO <SEP> LLOO
<tb>
Jeder Schritt 1, 2, 3... besteht aus zwei Takten a und b, von denen der erste die Linksverschiebung um eine Stelle und der zweite eine Prüfung auf Auftreten von Pseudotetraden bzw. übertragen aus einer Tetrade in die nächste sowie Einbringung der entsprechenden Korrektur vornimmt. Pseudotetraden und überträge treten immer dann auf, wenn vor der Verschiebung eine Ziffer > 5 vorhanden war. Nach der ersten Linksverschiebung (Schritt la) ist also keine Korrektur erforderlich und es steht nunmehr 0, 826 im rechten Teil des Registers.
Nach nochmaliger Linksverschiebung (Schritt 2a) ist eine L in den Registerteil B übergetreten und in der Tetrade III ist die Pseudodezimale LLOO aufgetreten. Die Tetraden I und III müssen korrigiert werden, indem gewissermassen jeweils der Betrag 6=OLLO addiert wird (Schritt 2b), so dass nunmehr im rechten Teil des Registers die Zahl 0, 652 in Tetradenverschlüsselung steht. Nach nochmaliger Verschiebung (Schritt 3a) steht im Binärteil B, OLO. Eine, Korrektur (Schritt 3b) ist in den Tetraden I und II wegen der Pseudodezimalen erforderlich usw. Am Ende des Prozesses steht die Mstellige Binärzahl im linken Teil des Registers, während im rechten Teil der dezimale Rest stehengeblieben ist.
Man wird den Prozess solange fortsetzen, bis dieser Rest, obgleich er ständig drei Dezimalzahlen umfasst, gemäss der Beziehung 2m ; e ION keine gültigen Stellen für die Binärzahl abgeben kann. Zur Sicherstellung des richtigen Abbrechens des Konvertierungsprozesses wird man ein (in der Zeichnung nicht dargestelltes) Zählwerk vorsehen, das nach M-Schritten die Konvertierungseinrichtung stillsetzt. Dadurch ist auch die richtige Lage des Kommas nach der Konvertierung sichergestellt.
In entsprechender Weise laut sich auch die Rückverwandlung eines Binärbruches in einen Dezimalbruch durchführen, wobei die Reihenfolge der beiden Arbeitstakte jedes Schrittes vertauscht werden kann und ausserdem statt einer Linksverschiebung eine Rechtsverschiebung (Division durch 2) durchgeführt wird.
Die erwähnten Korrekturen, die als Addition von OLLO aufgefasst werden können, sollen bei der Erfindung durch ein Verknüpfungsnetzwerk durchgeführt werden. Je nachdem, ob eine Rechtsverschiebung oder eine Linksverschiebung von dem betreffenden Algorithmus gefordert wird, muss die Korrektur eine andere sein.
Betrachtet man zunächst den Fall der Linksverschiebung, der auftritt, wenn ein echter Dezimalbruch in einen Binärbruch oder eine ganze Binärzahl in eine Dezimalzahl umgewandelt wird, so sieht man zunächst, dass bei der Multiplikation mit 2 nur dann eine Korrektur erforderlich wird, wenn vorher in einer Tetrade eine der Ziffern 5,6, 7,8 oder 9 vorhanden war. Enthält die Tetrade vor der Verschiebung die Ziffern 0, 1, 2,3 oder 4, so ist keine Korrektur erforderlich. Bei der Direktverschlüsselung, die'hier stets als Beispiel herangezogen wird, enthält nach der Verschiebung die entsprechende neue Tetrade entweder den doppelten Wert 2,4, 6 oder 8 bzw. für den Fall, dass von der nächstniedrigen (rechts angrenzenden) Tetrade ein übertrag hinzukommt, den Wert 3,5, 7 oder 9. Anders ist es in den Fällen, in denen die betreffende Tetrade eine der Ziffern 5,6, 7, 8 oder 9 enthielt.
Im Endergebnis muss nach der Verschiebung in jedem Falle ein übertrag auf die nächstfolgende (links benachbarte) Tetrade erfolgen. Eine übersicht ergibt die folgende Zusammenstellung : Tabelle 4
EMI4.2
<tb>
<tb> 1 <SEP> 5 <SEP> 6 <SEP> 7 <SEP> 8 <SEP> 9 <SEP>
<tb> 2 <SEP> OLOL <SEP> OLLO <SEP> OLLL <SEP> LOOO <SEP> LOOL
<tb> 3 <SEP> 0 <SEP> LOL-0 <SEP> LLO-0 <SEP> LLL-L <SEP> 000-L <SEP> OOL- <SEP>
<tb> 4 <SEP> L'000-L <SEP> OOL-L <SEP> OLO-L <SEP> OLL-L <SEP> LOO- <SEP>
<tb> S <SEP> W. <SEP> wW <SEP> W <SEP> W. <SEP> WW <SEP> . <SEP> wW <SEP> W <SEP> w. <SEP> W <SEP>
<tb>
<Desc/Clms Page number 5>
In der ersten Zeile stehen die entsprechenden Dezimalziffern. In der zweiten Zeile steht die entsprechende Tetrade in Direktverschlüsselung (mit den Gewichten 8, 4,2, 1).
Die dritte Zeile zeigt die Tetrade nach der Verschiebung um eine Stelle nach links (Multiplikation mit 2). Dabei tritt die erste Stelle jeder Tetrade jeweils als Einerstelle in die nächsthöhere Tetrade über. In der vierten Zeile sind die korrigierten Stellenwerte angegeben. In der fünften Zeile ist durch das Zeichen Wangegeben, in welcher Binärstelle gewechselt worden ist. Dies Zeichen W ist auch in Tabelle 3 bei jedem Schritt zwischen Takt a und Takt b an den Stellen eingeschrieben, wo ein "Wechseln" vorgenommen werden muss.
Bezeichnet man die einzelnen Flip-Flops einer Tetrade nach ihrem Stellenwert mit x8, x4, x2 und x, und den der Einerstelle der nächstfolgenden (linken) Tetrade entsprechenden, in welchen ein evtl. übertrag hineinkommt, mit Xu, so sieht man, dass die Stelle x, der betrachteten Tetrade für die Korrektur in jedem Falle uninteressant ist. Dagegen muss bei der Korrektur neben den Stellen x, X4 und X2 auch die Stelle' Xu (x, der nächsten Tetrade links) mit
Man sieht, dass für die Fälle, dass vor der Verschiebung eine 5 oder eine 7 in der betreffenden Tetrade stand, die gleiche Beziehung gilt.
Ein Korrekturnetzwerk, welches die angegebenen Korrekturen durchführt, ist in Fig. 2 schematisch für eine Tetrade dargestellt. Die einzelnen Stellen der Tetrade, die z. B. als Flip-Flops ausgebildet sein mögen, sind mit
EMI5.1
bereits zur nächsthöheren Tetrade des Registers gehört und dort die Stelle x, bildet.' Jeder Flip-Flop besitzt zwei Ausgangsleitungen, von denen die eine beim Zustand L (Xi) Spannung führt, während die andere beim Zustand 0 (Xi) Spannung führt. Diese Ausgangsleitungen führen nach den Regeln der vorstehend im Aussagenkalkül niedergelegten Operationen zu "Und-Torschaltungen" A, B, C, D und E, F, G, H, die als Relais-, Röhren-, Transistor-, Ringkern- oder Diodenschaltungen in bekannter Weise ausgeführt sein können. Jedes dieser Und-Tore besitzt ausserdem einen Eingang für einen Korrektursteuerimpuls, erfasst werden.
Ein Verknüpfungsnetzwerk, welches die in der vorstehenden Tabelle angedeuteten Korrekturen durchführt, muss also je nachdem, ob in gewissen Stellen xi (i=2,4, 8, u) eine Null oder eine Eins steht, in gewissen anderen Stellen Xk (k=2, 4,8, u) einen Wechsel bewirken, d. h. ein L in eine Null verwandeln bzw. eine Null in eine L verwandeln. Für die betrachteten Ziffern 5,6, 7, 8 und 9 (vor der Verschiebung) ergeben sich dabei besondere Korrekturvorschriften, die sich im Aussagenkalkül gemäss Tabelle 5 A bis D darstellen. Dabei ist mit Xi der Zustand bezeichnet, dass die betreffende Stelle xi des Registers eine Eins (L) enthält und mit Xi der Zustand, dass die betreffende Stelle eine Null (0) enthält.
Entsprechende Beziehungen ergeben sich bei der Konvertierung eines Binärbruches in einen Dezimalbruch, bei der im ersten Takt korrigiert und im zweiten Takt eine Rechtsverschiebung durchgeführt wird. Die hier geltenden Beziehungen sind in Tabelle 5 E bis H wiedergegeben. Dabei ist in der letzten Spalte die vor (A bis D) bzw. nach (E bis H) der Verschiebung in der betreffenden Tetrade stehende Dezimalziffer angegeben.
EMI5.2
EMI5.3
<tb>
<tb> A <SEP> Wenn <SEP> X2 & X2 <SEP> dann <SEP> wechseln <SEP> x <SEP> u, <SEP> Xa, <SEP> x <SEP> (5 <SEP> und <SEP> 7)
<tb> B <SEP> wenn <SEP> Xg & X <SEP> & X <SEP> dann <SEP> wechseln <SEP> xu, <SEP> x8, <SEP> x4, <SEP> x2 <SEP> (6)
<tb> Cwenn <SEP> X.
<SEP> & X, <SEP> dann <SEP> wechseln <SEP> X4, <SEP> X2 <SEP> (8) <SEP> " <SEP>
<tb> D <SEP> wenn <SEP> Xu <SEP> & X2 <SEP> dann <SEP> wechseln <SEP> Xa, <SEP> X2 <SEP> (9)
<tb> E <SEP> wenn <SEP> Xu & X3 & X2 <SEP> dann <SEP> wechseln <SEP> x <SEP> u, <SEP> Xs, <SEP> X2 <SEP> t5 <SEP> und <SEP> 7)
<tb> F <SEP> wenn <SEP> X <SEP> u <SEP> & X4 & X2 <SEP> dann <SEP> wechseln <SEP> x <SEP> u, <SEP> Xs, <SEP> x < , <SEP> x <SEP> (6)
<tb> G <SEP> wenn <SEP> Xu & X4 & X2 <SEP> dann <SEP> wechseln <SEP> X4, <SEP> X2 <SEP> (8) <SEP>
<tb> H <SEP> wenn <SEP> Xn & Xs <SEP> dann <SEP> wechseln <SEP> Xa, <SEP> X2 <SEP> (9)
<tb>
u. zw. die Tore A, B, C, D von einer Korrektursteuerimpulsquelle 1 und die Tore E, F, G, H von einer Korrektursteuerimpulsquelle 2 ;
Im Falle der Linksverschiebung (Multiplikation mit 2) im ersten Takt eines Schrittes wird zur Korrektur im zweiten Takt dieses Schrittes ein Impuls aus der Korrekturimpulssteuerquelle 1 auf die Tore A, B, C, D gegeben. Im Falle einer Rechtsverschiebung (Division durch 2) ein Impuls aus der Quelle 2 auf die Tore E, F, G, H. Die Ausgänge der Tore A bis H sind gemäss den vorstehend angegebenen Beziehungen A bis H mit den entsprechenden Steuereingängen der Flip-Flops xi so verbunden, dass in den richtigen Flip-Flops jeweils ein Wechseln ausgelöst wird. Eine solche Schaltung führt, wie man sich leicht überzeugt, die vorstehend in Tabelle 5 aufgeführten Verknüpfungen A, B, C, D, E, F, G, H aus.
Es sind auch andere Ausführungen für Register gemäss der Erfindung möglich, bei denen der Vorgang, der nach dem oben gegebenen Beispiel zwei Takte erfordert, durch einen
<Desc/Clms Page number 6>
einzigen Takt ausgelöst werden kann. In einem solchen Falle wird es allerdings im'allgemeinen erforderlich sein, die die einzelnen Stellen des Registers darstellenden Flip-Flops
EMI6.1
zahlen sind natürlich entsprechend andere Korrekturnetzwerke erforderlich, deren Funktion sich nach der jeweiligen Art der Ver- schlüsselung richtet.
Ein Register der beschriebenen Art kann - wie nochmals zusammenfassend bemerkt werden soll - folgende Konvertierungen leisten : a) Konvertierung echter Dezimalbrüche in
Binärbrüche und umgekehrt :
Die Zahl steht zunächst in direkter Tetraden-Verschlüsselung im rechten Teil des Registers. Das Komma wird zwischen den beiden Registerhälften stehend gedacht. Die Zahl wird in der weiter oben beschriebenen Weise schrittweise in den linken Teil des Registers geführt und dabei in eine Binärzahl umgewandelt. Die Zahl der Schritte sollte zweckmässig gleich der Binärkapazität des linken Registerteils sein.
Zur Konvertierung echter Binärbrüche in Dezimalbrüche wird der beschriebene Prozess in umgekehrter Richtung abgewickelt. b) Konvertierung ganzer Dezimalzahlen in
Binärzahlen und umgekehrt :
Die Zahl steht zunächst in direkter Tetraden-Verschlüsselung im rechten Teil des Registers. Das Komma wird rechts davon stehend gedacht am Ende des rechten Teils des Registers. Dieses Ende wird schaltungstechnisch mit dem linken Ende des linken Teils des Registers verknüpft. Die Zahl wird beim Umwandlungsprozess schrittweise rechts aus dem Register herausgeführt und von links in den linken Teil des Registers wieder eingespeist. Auch hier sollte die Zahl der Schritte gleich der Binärkapazität des linken Registerteils sein, damit die Zahl nach dem Umwandlungsprozess stellenrichtig im linken Teil des Registers steht.
Zur Konvertierung ganzer Binärzahlen in Dezimalzahlen wird der beschriebene Prozess in umgekehrter Richtung abgewickelt.
In jedem Falle gilt bei einer Linksverschiebung (Multiplikation mit 2), dass die entsprechende Korrektur - Abfrageeinrichtung 1 und umgekehrt bei einer Rechtsverschiebung (Division durch 2) die entsprechende Korrektur-Abfrageeinrichtung 2 angesteuert werden muss. Bei der Linksverschiebung wird zunächst die reine Verschiebung und dann die Korrektur durchgeführt, bei der Rechtsverschiebung umgekehrt.
Gemäss weiterer Erfindung kann ein Re- gister, wie es beispielshalber schematisch in Fig. 1 dargestellt ist, derart ergänzt werden, dass es auch zur Konvertierung von Zahlen in halblogarithmischer Darstellung geeignet ist wobei auch die Konvertierung gemischte Zahlen mit einem ganzen und einem gebrochenen Teil möglich wird. Dazu müssen noch zusätzliche Zähleinrichtungen für die Exponenten vorgesehen sein. In halblogarith- mischer Darstellung stellt sich eine Dezimalzahl dar als D = d. 10P, wo d die Dezimal- mantisse und p der ganzzahlige Exponent zur Basis 10 ist. Durch entsprechende Wahl von f
EMI6.2
ponent zur Basis 2 bezeichnet wird.
Fig. 3 zeigt ein zur Konvertierung von halblogarithmisch dargestellten Zahlen geeignete : Register. Zu den bereits an Hand der Fig. l erläuterten Teilen B, D, R und L kommen noch die Zähleinrichtungen P (für den Dezimalexponenten p) und Q (für den Binärexponenten q) hinzu. Ausserdem kommen noch zwei weitere Impulsquellen 4R und 4L hinzu, durch welche der ganze Inhalt des Registers jeweils um vier Stellen nach rechts bzw. nach links verschoben werden kann. Eine solche Verschiebung bedeutet im Dezi- malteil D des Registers eine Division bzw. Multiplikation mit 10. Die verschiedenen Impulssteuerquellen R, L, 4R und 4L werden von einer Steuerquelle St gemäss dem im fol-
EMI6.3
4R und Abfrageleitungen 5 und 6 zu der ersten bzw. letzten Binärstelle des Registerteils B.
Eine weitere Abfrageleitung führt zum Zählwerk P.
Die Wirkungsweise soll für die Fälle f < 0 und p > 0 gesondert erläutert werden.
Zu Beginn der Konvertierung steht in beiden Fällen die Dezimalmantisse d im rechten Teil D des Konvertierungsregisters, u. zw z. B.-wie bereits oben erläutert-in direkter Tetraden-Verschlüsselung. Der Exponent p steht im Dezimalexponentenzählwerk P. Der linke Teil B des Registers dient wieder zur Aufnahme der sich schrittweise aufbauenden Binärmantisse b, während das Zählwerk Q nach Beendigung der Konvertierung den Binärexponenten q enthalten soll.
Die Konvertierung geht in zwei Arbeitsabschnitten vor sich, wobei im ersten Arbeitsabschnitt eine Normierung vorgenommen wird, bei der im wesentlichen der im Zählwerk P stehende Dezimalexponent untel gleichzeitiger Umformung von d abgebaut und
<Desc/Clms Page number 7>
in das Zählwerk Q, das zu Anfang der Normierung auf Null steht, als Binärexponent übertragen wird. Dies geschieht ja nachdem, ob p < 0 oder p > 0 ist, in verschiedener Weise.
Ist p < 0, so werden in dem Register zunächst fortlaufend Multiplikationen mit 2, d. h. also Verschiebungen um eine Stelle nach links, mit nachfolgender Korrektur der Pseudotetraden und überträge durchgeführt, indem die Impulsquelle L über Steuerleitung l angestossen wird. Die Anzahl dieser Multiplikationen wird über Leitung 8 dem Zählwerk Q zugeführt und dort von Null abgezogen. Sobald ein überlauf vom Registerteil D in den Registerteil B eintritt, was durch die Abfrageleitung 6 dem Steuerwerk St gemeldet wird" wird die Folge der Multiplikationen mit 2 unterbrochen und über die Steuerleitung 4 die Impulsquelle 4R angestossen, welche eine Verschiebung im Register um vier Stellen nach rechts, also eine Division durch 10, veranlasst.
Gleichzeitig wird über die Leitung 9 der negative, im Zählwerk P stehende Ex-
Die Stellenzahl M des Registerteils B ist hier mit 10 angenommen (1032IO). Die Dezimalzahlen sind zur besseren übersicht nicht in Tetraden-Verschlüsselung, sondern in dezimaler Schreibweise in der Spalte D aufgeführt. In Spalte Op ist die Folge der durchzuführenden Operationen, Multiplikation mit 2 (. 2),. Division durch 10 ( : 10), aufgeführt.
Die Spalten P und Q geben den jeweiligen Stand der betreffenden Zählwerke an. Zu Beginn der Rechnung steht im Binärteil B des ponent um 1 vermehrt. Nunmehr werden wieder Multiplikationen mit 2 durchgeführt und die Zahl im Zählwerk Q gleichzeitig jedesmal um 1 vermindert, bis der nächste überlauf auftritt. Dieser Wechsel wird solange fortgesetzt, bis im Register P der Ex. ponent Null steht. Dieser Zustand wird über die Abfrageleitung 7 dem Steuerwerk St ge. meldet und dieses leitet nunmehr den zweiten Arbeitsabschnitt ein, der genauso verläuft wie bereits für die Konvertierung gewöhnlicher Dezimalbrüche an Hand der Tabelle 3 ausführlich erläutert. Im Zählwerk Q steht nunmehr schon der endgültige Binärexponent q.
Nach den M weiteren Multiplikationen mit 2 steht die Binärmantisse im Registerteil Bund der Binärexponent q im Zählwerk Q, wobei zu bemerken ist, dass während des zweiten Arbeitsabschnittes die Zähler P und Q nicht mehr weiter geschaltet werden.
Tabelle 6 zeigt ein Rechenbeispiel für die Konvertierung der Dezimalzahl 0, 001, geschrieben in der Form 0, 1. 10-2, in eine Binärzahl : Tabelle 6
EMI7.1
<tb>
<tb> B <SEP> D <SEP> Op <SEP> P <SEP> Q
<tb> 0000000000 <SEP> 0, <SEP> 100-2 <SEP> 0 <SEP>
<tb> 0, <SEP> 200. <SEP> 2-2-1 <SEP>
<tb> 0, <SEP> 400. <SEP> 2-2-2 <SEP>
<tb> 0, <SEP> 800. <SEP> 2-2-3 <SEP>
<tb> L <SEP> 1, <SEP> 600. <SEP> 2-2-4 <SEP>
<tb> 0, <SEP> 160 <SEP> : <SEP> 10 <SEP> -1 <SEP> -4 <SEP>
<tb> 0, <SEP> 320. <SEP> 2 <SEP> -1 <SEP> -5 <SEP>
<tb> 0, <SEP> 640. <SEP> 2-1-6 <SEP>
<tb> L <SEP> 1, <SEP> 280. <SEP> 2-1-7 <SEP>
<tb> 0, <SEP> 128 <SEP> :
<SEP> 10 <SEP> 0-7 <SEP>
<tb> 0 <SEP> 0, <SEP> 256. <SEP> 2 <SEP>
<tb> 00 <SEP> 0, <SEP> 512. <SEP> 2 <SEP>
<tb> OOL <SEP> 1, <SEP> 024. <SEP> 2
<tb> OOLO <SEP> 0, <SEP> 048. <SEP> 2 <SEP>
<tb> OOLOO <SEP> 0, <SEP> 096, <SEP> 2
<tb> OOLOOO <SEP> 0, <SEP> 192.. <SEP> 2
<tb> OOLOOOO <SEP> 0, <SEP> 384.. <SEP> 2
<tb> OOLOOOOO <SEP> 0, <SEP> 768. <SEP> 2
<tb> OOLOOOOOL <SEP> 1, <SEP> 536. <SEP> 2'I' <SEP>
<tb> OOLOOOOOLL <SEP> 1, <SEP> 072. <SEP> 2-7 <SEP>
<tb>
Ergebnis : O, OOLOOOOOLL. 2-7 Registers eine 0, im Dezimalteil D in Tetraden-Verschlüsselung die Zahl 0, 1, im De- zimalexponentenzählwerk-2 und im Binärexponentenzählwerk Q die Zahl Null. Die Zahl der Multiplikationen mit 2 wird zum ersten Male unterbrochen, wenn im Dezimal- register die Zahl 1, 6 auftritt, also ein L in den Binärteil B übertritt.
Durch die darauffolgende Division durch 10 (Rechtsverschiebung) tritt diese L jedoch wieder in den Dezimalteil D zurück. Bei Beendigung des ersten
<Desc/Clms Page number 8>
Arbeitsabschnittes, wenn also der Inhalt des Zählwerks P auf Null gebracht ist, steht im Dezimalregisterteil D (natürlich in TetradenVerschlüsselung) die Zahl 0, 128 und im Binärexponentenregister Q die Zahl-7. Darauf geht der zweite Arbeitsabschnitt vor sich, in dem fortlaufend mit 2 multipliziert und die auftretenden überläufe in den Binärteil B des Registers verschoben werden. Nach M = 10 Schritten ist die Rechnung beendet, das Er-
EMI8.1
Die Konvertierung von ganzen oder gemischten Dezimalzahlen in halblogarithmischer Darstellung, bei denen) d I < 1 und p > 1 ist, geht in entsprechender Weise vor sich, indem im ersten Arbeitsabschnitt die in den Dezimalteil gebrachte Dezimalmantisse fortlaufend durch 2 dividiert wird (Steuerung von R über Leitung 2) und jeweils, wenn die erste Dezimalstelle im Registerteil D verschwindet, also eine Null in der ersten Tetrade links steht (Meldung über Leitung 5 an St) mit 10 multipliziert wird (Steuerung von 4L über Leitung 3). Zu Anfang der Konvertierung steht dabei wieder im Dezimalexponentenzählwerk P der Dezimalexponent p.
Bei jeder Division durch 2 wird die im Zählwerk Q stehende Zahl über Leitung 10 um 1 vermehrt und bei ieder Multiplikation mit 10 die im Zählwerk P stehende Zahl über Leitung 11 um 1 vermindert. Dieser Arbeitsrhythmus wird solange fortgesetzt, bis im Zählwerk P die Zahl 0
EMI8.2
beitsabschnitt gemäss Tabelle 3 weitergerechnet, wobei sich die Binärmantisse im linken Teil B des Registers von rechts her aufbaut. Die Zählwerke P und Q werden wieder im zweiten Arbeitsabschnitt stillgesetzt.
Ein Rechenbeispiel in Form einer Tabelle braucht nicht gegeben zu werden, da es aus dem Vorstehenden ohne weiteres verständlich ist.
Der umgekehrte Fall der Konvertierung einer Binärzahl in eine Dezimalzahl geht entsprechend in zwei Schritten vor sich, wobei zunächst der Binärexponentenzähler Q je nachdem, ob q < 1 oder q > 1 ist, durch fortlaufende Multiplikationen bzw. Division mit : und Division bzw. Multiplikation mit 10 auf Null gebracht und gleichzeitig der Dezimalexponent im Zählwerk P aufgebaut wird. Dazu ist noch eine Abfrageleitung 12 vorgesehen, die die Null in Q dem Steuerwerk St meldet und damit die Umschaltung auf den zweiten Arbeitsabschnitt bewirkt, der-wie oben-in umgekehrter Folge verläuft.
Um eine genauigkeitsrichtige Konvertierung zu erreichen, ist es u. U. notwendig, auf der rechten Seite des rechten Registerteils D einige (etwa vier) Dezimalstellen hinzuzu- nehmen. Die Anzahl der hinzuzunehmenden Dezimalstellen richtet sich dabei nach dem zugelassenen Exponentenbereich. Gegebenenfalls kann hiefür auch die linke Seite des linken Registerteils B ausgenutzt werden, da in diesem ja während des ersten Teils (Normierung) der Konvertierung keine Ziffern stehen.
Die bisherige Beschreibung führt dazu, dass nach der Konvertierung die Binärmantisse im Bereich 0, l < ; b < l liegt. üblich jedoch ist die Normierung 0, 5 < b < 1. Will man diese übliche Normierung noch erreichen, müssen unter Beteiligung vom Zählregister Q kleine Verschiebungen durchgeführt werden, u. zw. am Ende des Konvertierungsprozesses. Eine solche Normierung mit an sich bekannten Mitteln macht keine zusätzlichen Schwierig- keiten.
Die beschriebenen Einrichtungen haben ausser den vorstehend bereits erwähnten Vorteilen der Entlastung des Rechenwerks und der damit verbundenen Ersparnis an Rechenzeit den Vorteil, dass sie als Dezimalanzeigevorrichtungen in einer binär rechnenden Rechenmaschine verwendet werden können. An die Anzeigevorrichtung kann z. B. zum Zwecke der Testung von neuen Programmen oder zur Testung der Maschine selbst die Ausgabeeinrichtung angeschlossen werden, ohne dass der Gang der Rechnung bei beiden unterbrochen werden muss.
PATENTANSPRÜCHE :
1. Einrichtung zur Konvertierung von Dezimalzahlen in Binärzahlen oder umgekehrt, durch fortlaufende Division durch 2 bzw.
EMI8.3
gesehen ist, dessen erster Teil zur Aufnahme der Dezimalzahl in ziffernmässig binärverschlüsselter Form und dessen zweiter Teil zur Aufnahme der reinen Binärzahl dient, dass eine Vorrichtung vorgesehen ist, welche die in einem der beiden Registerteile stehende Zahl durch schrittweise Verschiebung von einem Registerteil in den anderen Teil verschiebt, und dass ein Verknüpfungsnetzwerk vorgesehen ist, welches zwischen je zwei Verschiebungen um eine Stelle eine Prüfung des Dezimalteils des Registers auf Auftreten von Pseudoziffern und von übertragen vornimmt und entsprechende Korrekturen an den betreffenden Ziffern durchführt.