PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Berechnungsfrage


Duran05
2002-06-14, 22:54:52
Hi!

Folgende Frage "quaelt" mich schon seit einigen Wochen:

Warum schlaegt bei bestimmten alten PC-Spielen der Kontostand bei knapp ueber 2 Milliarden ins minus um?

Das ist meist nur bei aelteren Spielen der Fall, nicht aber bei den neueren Titeln ab dem Jahr 2000...

Wenn man einen Kontostand editieren moechte, dann macht man das ja meist mit einem Hex-Editor...

FF = 255
FFFF = 65.535
FFFFFF = 16.777.215
FFFFFFFF = 4.294.967.295

Allerdings hat man bei Anstoss 2 GOLD z.B. das Problem, das ab mehr als 2+ Milliarden der Kontostand auf einmal ins minus geraet.

Ich moechte nun gerne wissen warum das so ist, und wie das berechnet wird.

Kann jemand von euch das erklaeren?

86318
2002-06-14, 23:02:50
32 bit zahlen.
31 bit (entspricht 2 milliarden) für den wert und 1 bit fürs vorzeichen.

86318
2002-06-14, 23:04:09
das beantwortet auch die frage "wozu 64 bit prozessoren?" :D

Duran05
2002-06-14, 23:29:17
Das hilft mir nicht wirklich weiter...

Andere Programme/Spiele kommen ja auch mit 20 stelligen Betraegen klar, und dafuer braucht man keinen 64-Bit Prozessor...

86318
2002-06-15, 00:03:46
war ja auch nur ein scherz. auf jeden fall nimmt anstoss 2 für die speicherung dieses werts eine 32bit variable, und die kann nur werte von -2 milliarden bis +2 milliarden annehmen.

Frank
2002-06-15, 00:48:13
Originally posted by theSpy
Das hilft mir nicht wirklich weiter...

Andere Programme/Spiele kommen ja auch mit 20 stelligen Betraegen klar, und dafuer braucht man keinen 64-Bit Prozessor...
damit kann jeder Prozossor rechnen. Das ist schon klar. Erledigt wird das quasi von der Software. Denn ne 64bit Zahl passt nun mal nicht in die Leitung des 32bit Prozis rein. Letztendlich macht das bei Standardanwendung nicht viel... bei Numerischen Problemen ist das allerdings der Overkill :D

barracuda
2002-06-15, 01:21:25
Dafür gibts doch das Carry-Bit.....

Man kann Integerzahlen von beliebiger Länge verabeiten. Wenn das Datenwort >32 Bit ist, dann eben in mehreren Schritten.

Frank
2002-06-15, 21:26:27
Schon klar barrac. Aber die mehreren Schritte machens dann eben doch fett. Ein kleines rekursives numerisches Problem reicht aus, um einen 1Ghz Rechner ein paar Tage(edit: oder Jahre) rechnen zu lassen.

Da reicht schon sowas wie Newtonverfahren für "geeignete Funktionen" in "geeigneter Genauigkeit"