Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlensysteme
Import-Script
27.11.2003, 17:43
Moin, hat jemand ne Idee, wie ich Zahlen, von -1,0 bis +1,0 als 8 Bit Wert verarbeite, so dass Addition, Subtraktion, Multiplikation und Division möglich ist. <BR> <BR>Beste Grüße, Mare
Import-Script
27.11.2003, 23:58
hallo bruder, <BR> <BR>schau mal nach,was SIGNIERTE BYTEZAHLEN sind...und unsignierte. <BR>der wertebereich erstreckt sich von -128(80h) <BR>bis +127 (7fh) Zahlen mit gesetztem 7tenbt=1 werden als negative zahlen betrachtet..... <BR> <BR>addition , subtraktion wie bei unsignierten <BR>byte-zahlen.multplikation auch,solange das produkt innerhalb -128 und +127. <BR>die division ist dagegen etwas trickreich/beduerftig. <BR> <BR>hoffe es nuetzt dir <BR>ed <BR><img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>
Import-Script
28.11.2003, 06:29
Tja, hab ich mir auch schon überlegt, mit dem Zweierkompläment anzusetzen. Das Problem besteht in der einen Nachkommastelle. Bei der Multiplikation werden da nämlich zwei draus. Tja, Division ist echt ne Sache für sich... <BR> <BR>Beste Grüße, Matek
Import-Script
28.11.2003, 15:56
@Bruder m: Wie wäre es mit BCD-Arithmetik ohne Rundungsfehler etc. pp. So wie die Banken das mit Cobol machen; hätte da auch noch ein schönes Buch, "Pascal-SC" aber papp Dir doch die Digits einzeln und rechne sie wie in der Schule gelernt. <BR>123:768,5=???? <BR>erstmal alles mal 10 damit das Komma weggeht <BR>1230:7685=??? <BR>und dann schön mit Mod und Div das Ding von oben nach unten abarbeiten <BR>1230:7685 geht nicht, also 0 hin, Komma setzen und die 1230 * 10. <BR>12300:7685 geht einmal. <BR>Macht 0,1 <img src="http://progshop.com/elektronik/diskussion/clipart/talker.gif" border=0> (erstmal) <BR>und weiter. Rest 12300 - 1mal 7685 = 4615 <BR>Null dran, nächste Kommastelle und einmal neu <BR>46150:7685 geht 6 mal <BR>Macht 0,16 <img src="http://progshop.com/elektronik/diskussion/clipart/talker.gif" border=0> (erstmal) <BR>und das treibst Du halt so weiter bis beliebig genau oder Aufwand zu gross. <BR>In diesem Exempel <BR>46150 - 6mal 7685 = 40 <BR>Null dran weil nächste Kommastelle <BR>400:7685=??? <BR>geht immer noch nicht, wieder Null dran <BR>4000:7685=??? <BR>geht immer noch nicht, und jetzt halt irgendwann <BR>Abbruch - wenn "zweimal Null dran" immer noch nicht geht" z.B. <img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0> <BR>
Import-Script
28.11.2003, 16:31
Hi, Andreas, <BR> <BR>Vielen Danke für deine Ausführliche Beschreibung. Das mit der schriftlichen Division war mir klar. Die Problematik bestand einfach, darin, dass sich das Ergebnis wieder im Intervall von -1,0 bis +1,0 ausdrücken lassen soll, und mit nur einer Nachkommastelle, und auch nur mit einer 8-Bit Integer Zahl. <BR>Das mit dem Zweierkompläument hat ja gut geklappt, das mit Mul und Div hab ich so gelöst, dass ich das Intervall, als Ring definiert habe, in dem Multiplikation und Division nicht durchgeführt werden dürfen, denn z.B. liefert 0,9*0,9 (beides Elemente des Ringes) als Ergebnis 0,81 und dies ist kein Element des Ringes! Division ist ja noch viel Schlimmer, denn 0,9/0,3 sind 3,0! und das liegt nun wahrlich nicht mal im Intervall! <BR>Bin mal gespannt, was der Informatik-Prof dazu sagt <img src="http://progshop.com/elektronik/diskussion/clipart/biggrin.gif" border=0> <BR> <BR>Beste Grüße, Marek
Import-Script
29.11.2003, 19:58
Gruss an Deinen Prof im Namen der Herrn Prof... <BR><img src="http://progshop.com/elektronik/diskussion/messages/4982/10056.jpg" alt="PSC"> <BR> <BR>ISBN 3-411-03113-1 <BR> <BR>ich leihe es ihm gerne auch mal aus. DAS IST SO !!! Computer machen Rundungsfehler abstrus von jeglichem "rechen-gewollten" bis hin zu Ergebnissen, die jenseits sind von allem. <BR>Darf man halt nicht glauben oder mit Skepsis betrachten. In dem Buch steht drin, wie!!! <BR>Ich hab den Compiler auf einem KWS SAM68k laufen; super Implementation; kein Ding; der RECHNET RICHTIG!!! - und wenn er mir sagt das ist zwischen 2 und 25 Volt, nun ja, zumindest stimmt das dann auch.<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.