Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: Zahl-Umrechnungen Bin, Oct, Dec, Hex

  Alt 3. Jan 2005, 14:49
Zitat von thepaul:
bei binär is das nich so einfach. da muss dann das MSB (most significant bit) den wert 1 haben und die anderen entsprechend geändert weredn!
Das ist nicht ganz richtig.

Auch bei Binär kann man (in der Mathematik) mit dem "-" Zeichen arbeiten.

In der EDV werden die Binärzahlen aber in dem von Dir angegebenen Format abgelegt. Das hat aber nichts damit zu tun, das im Binärsystem kein Minus möglich ist, sondern es relativ einfach nach Deiner Methode zu handeln ist.

Im Dualsystem kann eine Subtraktion als eine Addition mit dem 2er Kompliment dargestellt werden.
Eine Negative Zahl wird deswegen in der EDV gerne als Zweierkompliment dargestellt.
Das funktioniert sehr gut, da man in der Regel genau weiß wie viel Bits eine Zahl groß werden darf.

Was machst Du wenn Du nicht weißt, wie viele Bits Dein Wert hat?
Sprich wir arbeiten mit Binärzahlen, die sagen wir mal bis zum Bereich 2^10.000.000 groß werden können.
Wenn Du nun den Wert -1 ablegen willst, kann man natürlich auch 10 Mio. Einsen davor schreiben

Ich hatte irgendwann mal eine Funktionssammlung in TP6 die mit sehr großen Binärzahlen rechnen kann. dort wurde sich nur das Vorzeichen gemerkt. Beim Rechnen wurde dann das 2er Komplimentgebildet (Max(AnzBits(Zahl1), AnzBits(Zahl2))+1 und danach bei einer negativen Zahl wieder zurückgewandelt.
Das klappte sehr gut.

Anmerkung:
Kompliment ist das Negativ der Zahl: z.B. 00001001 -> 11110110
2er Kompliment ist das Kompliment der Zahl + 1 z.B. -> 00001001 -> 11110111
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat