Binär rechnen

W

wernerna

Hallo Leute, ich bin neu hier und konnte ein bissel Hilfe gebrauchen!

Ich fang mal einfach an. Und zwar möchte ich binär rechnen (also +,-,*) jeweils mit zwei zahlen die im Bereich von -1 bis 0,9999..... (also fast +1) liegen, die ich aber als 16 bzw. 32 Bit Binärzahl bekomme. Die Binärzahlen sind im Zweierkomplement formatiere und somit kann man ja Kommazahlen in Binär ausdrücken.
So nun meine Frage, ich hab noch nicht wirklich eine Ahnung wie ich die Kommazahl konvertiere und dann Addiere/Multipliziere/Subtrahiere ? :confused:

------------------------------------------------------------------------------------------------
| Binär .............................................................................................| Komazahl |
-----------------------------------------------------------------------------------------------
| -2^0 , 2^-1 2^-2 2^-3 ...... 2^-15 .................................................| -1 = x <= +1 |
-----------------------------------------------------------------------------------------------
| 1,00000000000000 (grösste neg. Zahl) ...............................| -1 |
| 0,11111111111111 (grösste pos. Zahl) ...............................| 0,9999... |
| 0,10000000000000 ...................................................................| 0,5 |
| 1,11000000000000 ................................................................| -1+0,5+0,25 = -0,25 |
....... usw

So wird Konvertiert!
Das grössere Problem sehe in den Rechen Operationen, weil ich ja nur bis max. -1 und +0,99999 Darstellen kann.
Ich müsste mal wissen ob es Klassen gibt mit denen man Binär rechen kann und wie sie, dann sie Binärzahl formatieren

So Fragen über Fragen .... ich hoffe mir kann jemnd helfen (falls das überhaupt jemand versteht).

Danke!
 
Ich geb dir ma n kleinen Tipp:

Zahlen werden binär verarbeitet, du brauchst gar keine extra Klassen um binär mit ihnen zu rechnen.
Außerdem macht es keinen Unterschied, in welcher Basis mit einer Zahl gerechnet wird.

Was du dann höchstens noch brauchst, ist die Möglichkeit, Zahlen in einem binären System darzustellen bzw die Darstellung innerhalb eines binären Systems in eine Zahl zu konvertieren.
Und dazu kannst du dir auch selbst eine Möglichkeit ausdenken, ist gar nicht so schwer...
(Wobei es nebenbei eigentlich nicht besonders viel Sinn macht, Rationale Zahlen binär darzustellen - wer braucht sowas?)
 
Brauchen evtl. nicht aber ich wollte etwas derartiges auch schon mal machen .... just for fun. Ich kann dir aber leider auch nicht weiter helfen. ich bin momentan viel zu KO.
 
Die von dir beschriebenen Zahlen bezeichnet man als Festkommazahlen/Fractional bei Rechenoperationen hast du natürlich das Problem wie bei Integer auch dass du auf deine Bereiche achten musst.
Deine Algorithmen müssen an dieses Problem angepasst sein ... meist weiß man z.b. dass es innerhalb des Bereichs bleibt oder dass es diesen in der Regel um den Faktor x überschreitet , dann muss man im algorithmus das beachten
 
Zurück