Seite 2 von 2
Verfasst: 11.10.2004 14:48
von remi_meier
@Smash:
Naja unlimitiert sind glaube ich alle (starten einfach wieder bei -irgendwas). Aber: Longs sind schneller und genauer. Macht natürlich nicht viel aus hier, aber auf 0 setzen sollte man schon ab und zu wieder mal...
greetz
remi
Verfasst: 11.10.2004 14:52
von Danilo
Mit "Unlimitiert" meint Smash sicherlich unbegrenzte Zahlen, was
aber nicht möglich ist (irgendwo muß es ja gespeichert werden).
Achja, in der Hilfe steht das man in diesen 4-Byte-Float unendlich
große Zahlen speichern kann... das wär' ja echt cool.
So könnte man ja eine ganze EXE von 3MB als große Zahl ansehen
und in 4 Bytes speichern - ein guter Komprimierungs-Algo.

Verfasst: 11.10.2004 17:24
von Smash
Genau unbegrenzte Zahlen, so hab ich das verstanden.
Byte = 1 Byte
Word = 2 Byte
Long = 4 Byte
Float= 4 Byte ( + 4 + 4 + 4 ....)
Long und Float jeweils 4 Byte?
Float unlimitiert?
Da kann Float ja nur wie folgt reagieren!
Ich dachte einfach ein Float sei in der Lage
während einer Multiplikation oder Division
jedes überlaufende bit zu bemerken
um sich dementsprechend im Arbeitsspeicher zu erweitern.
P.s.
Die Beschreibung in der HTML Hilfe
Spezielle Informationen über Fließkommazahlen (Floats)
Ist sowieso voll der Hammer.
Auf Deutsch steht da.
Du kannst zwar was in die Fließkommazahlen schreiben.
Aber was dabei herauskommt ist ne Überraschung.
Na in Zukunft werd ich die Floats einfach ignorieren
Verfasst: 11.10.2004 19:15
von Zaphod
nicht schon wieder. um es nochmal kurz zusammenzufassen. floats arbeiten mit einer gewissen ungenauigkeit, die mit größe der zahl zunimmt. das liegt an der art wie x86 floats und doubles kodieren. da kann purebasic nichts für. darum benutzt man floats nur wenn man floats braucht. kommt man mit ganzzahlen zurecht nimmt man die.
Verfasst: 12.10.2004 00:03
von Andre
Danilo hat geschrieben:Achja, in der Hilfe steht das man in diesen 4-Byte-Float unendlich große Zahlen speichern kann... das wär' ja echt cool.
So könnte man ja eine ganze EXE von 3MB als große Zahl ansehen
und in 4 Bytes speichern - ein guter Komprimierungs-Algo.

Wie hättst Du es denn lieber da drin stehen?
Verfasst: 12.10.2004 11:03
von Danilo
Andre hat geschrieben:Wie hättst Du es denn lieber da drin stehen?
Na die Begrenzung, d.h. die größte Zahl die da reingeht.
Hast Du die folgende Zeile mal probiert?
Merkste was? Das ist nicht die größte erlaubte Zahl...

Verfasst: 12.10.2004 23:45
von Andre
Danilo hat geschrieben:Andre hat geschrieben:Wie hättst Du es denn lieber da drin stehen?
Na die Begrenzung, d.h. die größte Zahl die da reingeht.
Hast Du die folgende Zeile mal probiert?
Merkste was? Das ist nicht die größte erlaubte Zahl...

Habe mal auf die Schnelle getestet:
Code: Alles auswählen
float.f = 9999999.99
float2.f= 99999999.9
float3.f= 10000000.01 ; <= Fehler, da zuviele Stellen
Die ersten beiden Variablen gehen, d.h. 9 Stellen (vor oder nach dem Komma) sind erlaubt. Richtig ? Oder doch anders definiert, denn Vorzeichen wird am Ende auch eine Rolle spielen (1 Vorzeichen + 8 Stellen) ?
Habe mit Google mal auf die Schnelle paar Links gefunden ...
Fließkommadarstellung und Problembehandlung
Datentypen und
Datentypen
... aber die sagen auch verschiedene Dinge aus, zumindest bin ich mir nicht sicher, was genau für die PB-Floats in die Anleitung sollte....

Verfasst: 13.10.2004 00:18
von Smash
Fließkommazahlen, hab ich hier zum ersten Mal verwendet.
Da stand unlimitiert. Dachte das wäre grade das richtige.
Na ja Mittlerweile habe ich mich auch schon einwenig damit beschäftigt.
Und irgendwo hab ich gelesen das man mit der Erklärung
der Fließkommazahlen ein ganzes Buch füllen kann.
Ich wäre dafür die Floats in der Hilfe separat zu erwähnen.
Und darauf aufmerksam zu machen sich doch bitte
nähere Infos über das Internet zu besorgen.
Ist vielleicht nicht sehr professionell.
Aber so kommen solche User wie ich nicht darauf
die Floats leichtfertig zu verwenden.
Byte, Word, Long und Float
Steht alles in einer Liste.
Ich hab halt alles in einen Hut geworfen
Ohne mir weitere Gedanken zu machen.
Verfasst: 13.10.2004 07:27
von Danilo
Andre hat geschrieben:zumindest bin ich mir nicht sicher, was genau für die PB-Floats
in die Anleitung sollte....

Siehe die Tabelle gleich am Anfang:
http://www.mpdvc.de/artikel/FloatingPoint.htm
Das ist korrekt.
Und noch ein Zitat aus "Das Assembler Buch" von Trutz Eyke Podschun:
Trutz Eyke Podschun hat geschrieben:-----------------------------------------------------------------------------------------
| Wertebereich: ~ +/- 3.40282 * 10 hoch 38 bis ~ +/- 1.1755 * 10 hoch -38
| ...
-----------------------------------------------------------------------------------------
Tabelle 5.6: Charakteristika einer SingleReal
Die SingleReal existiert lediglich im Speicher! Sie stellt die
kleinstmögliche Darstellung einer Realzahl dar und ist aufgrund
des nicht sehr großen Wertebereichs und der nicht besonders
großen Genauigkeit nicht für den >Normalfall< geeignet.