FormatDate mit Millisekunden?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag 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
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Mit "Unlimitiert" meint Smash sicherlich unbegrenzte Zahlen, was
aber nicht möglich ist (irgendwo muß es ja gespeichert werden).

Code: Alles auswählen

float.f = 9999999999999999999999999999999999.12
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. ;)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Smash
Beiträge: 23
Registriert: 10.10.2004 00:09

Beitrag 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? :roll:
Float unlimitiert?
:roll:
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
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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. ;)
:lol:

Wie hättst Du es denn lieber da drin stehen?
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag 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?

Code: Alles auswählen

float.f = 9999999999999999999999999999999999.12
Merkste was? Das ist nicht die größte erlaubte Zahl... :D
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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?

Code: Alles auswählen

float.f = 9999999999999999999999999999999999.12
Merkste was? Das ist nicht die größte erlaubte Zahl... :D
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.... /:->
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Smash
Beiträge: 23
Registriert: 10.10.2004 00:09

Beitrag 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.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag 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.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten