Single-Datentyp Wertebereich?
Thomas
- datenbank
0 Cheatah0 Klaus Mock0 Thomas
Hallo,
ich bin neu in diesem Thema und verstehe nicht, wieviel Stellen ich bei den Gleitkommazahlen VOR dem Komma habe.
Z.B:
"Der Single-Datentyp hat einen Wertebereich von -3,402823E38 bis -1,401298E-45 für negative Werte und von 1,401298E-45 bis 3,402823E38 für positive Werte."
Dann steht dies Kommentar dabei:
"Hier meint der naive Benutzer häufig "Damit komme ich doch locker aus!" - vergisst aber, dass der Wertebereich das eine, die Genauigkeit das andere ist. Single-Datentypen haben nur 6 genaue Stellen! Ein Bereich, der z.B. für Rechnungen mit Geldbeträgen bei weitem nicht ausreicht."
Quelle: http://www.dbwiki.de/wiki.php?title=Access_Anf�nger:_Niemals_Datentyp_Integer_verwenden
Ich kapiere eigentlich davon nichts richtig!
Heißt das nun, dass ich Zahlen mit insgesamt sechs Stellen haben kann?
Z.B. 0,00456 oder 1.234,56?
Ich erwarte zB Zahlen von 0,005 bis 199,99 dann müßt dieser Single-Datentyp gut reichen?
Danke
Thomas
Hi,
Heißt das nun, dass ich Zahlen mit insgesamt sechs Stellen haben kann?
sechs Stellen, eingerahmt von einer recht großen (maximalen) Menge an Nullen.
Z.B. 0,00456 oder 1.234,56?
0,00456789 oder 1.234,56.
Ich erwarte zB Zahlen von 0,005 bis 199,99 dann müßt dieser Single-Datentyp gut reichen?
Ja, scheint so.
Cheatah
Hallo,
Ich erwarte zB Zahlen von 0,005 bis 199,99 dann müßt dieser Single-Datentyp gut reichen?
Ja, scheint so.
Aber nur wenn Werte wie 0,1234567 oder 180,2345 nicht genau so abgelegt werden müssen.
Grüße
Klaus
Hi,
0,00456789 oder 1.234,56.
Dann wäre der "Wertebereich" acht Stellen hinter dem Komma?
Aber wie steht es dazu mit der "Genauigkeit"?
"Single-Datentypen haben nur 6 genaue Stellen!"
Ich kapier das irgendwie nicht...
@Klaus
Aber nur wenn Werte wie 0,1234567 oder 180,2345 nicht genau so abgelegt werden müssen.
Was meinst du damit? "genau so"?
Thomas
hi,
0,00456789 oder 1.234,56.
Dann wäre der "Wertebereich" acht Stellen hinter dem Komma?
Nein.
Aber wie steht es dazu mit der "Genauigkeit"?
"Single-Datentypen haben nur 6 genaue Stellen!"
In jedem der beiden obigen Beispiele siehst du genau 6 "signifikante" Stellen - bei 0,00456789 sind dies die Ziffern 456789 und bei 1.234,56 die Ziffern 123456.
_Das_ ist die Genauigkeit - sie beginnt bei der ersten Stelle (Ziffer) von links, die ungleich 0 ist, und endet bei der letzten, die ungleich 0 ist.
gruß,
wahsaga
hi,
das wird ja immer kurioser!
_Das_ ist die Genauigkeit - sie beginnt bei der ersten Stelle (Ziffer) von links, die ungleich 0 ist, und endet bei der letzten, die ungleich 0 ist.
Von allein kommt doch da niemand drauf?
0,00456789 oder 1.234,56.
In jedem der beiden obigen Beispiele siehst du genau 6 "signifikante" Stellen - bei 0,00456789 sind dies die Ziffern 456789 und bei 1.234,56 die Ziffern 123456.
Also, wenn ich 0,11456789 anstatt 0,00456789 hätte, wäre die Genauigkeit nur bis 0,114567 (89) würde einfach abgeschnitten?
Warum gibt es diese Regel mit "ungleich 0"? Was macht sie für einen Sinn?
Thomas
hi,
Von allein kommt doch da niemand drauf?
Das erwartet ja auch keiner.
Was man allerdings erwarten könnte, ist dass jemand der eine Technik benutzt, sich auch über sie _informiert_.
Also, wenn ich 0,11456789 anstatt 0,00456789 hätte, wäre die Genauigkeit nur bis 0,114567 (89) würde einfach abgeschnitten?
Warum gibt es diese Regel mit "ungleich 0"? Was macht sie für einen Sinn?
Lies http://de.wikipedia.org/wiki/Gleitkommazahl, und versuche es zu verstehen.
gruß,
wahsaga
Hallo wahsaga,
Was man allerdings erwarten könnte, ist dass jemand der eine Technik benutzt, sich auch über sie _informiert_.
Lies http://de.wikipedia.org/wiki/Gleitkommazahl, und versuche es zu verstehen.
So war das nicht gemeint. Habe ich ja gemacht mich _informiert_ und genau auf dieser wikiP Seite. Aber wie es mit dem Versuch, diesen Artikel zu verstehn aussieht, ist eine andere Frage. Wenn man mit diesen Dingen nicht etwas vertraut ist, wird man wirklich total erschlagen. Was ich an solchen Dingen schade finde, dass man soo intellektuell und abstrakt beschreiben muß. Gut in den letzten Jahren gibt es mehr Ansätze komplexere Dinge versucht einfach zu beschreiben. Wenn ich mal so weit bin will ich das auch tun. Nicht mehr bloß meckern! ;-)
Werd dich dann als Lektor anheuern...
echo $begrüßung;
Lies http://de.wikipedia.org/wiki/Gleitkommazahl, und versuche es zu verstehen.
[...] Was ich an solchen Dingen schade finde, dass man soo intellektuell und abstrakt beschreiben muß. [...]
Hier die (hoffentlich verständlichere) Kurzform:
Für die Darstellung von Zahlen steht nicht unbegrenzt viel Platz zur Verfügung. Deswegen nimmt man einen Kompromiss, wie zum Beispiel: Zur Verfügung stehen 6 Speicherstellen für Ziffern, plus eine Angabe wo das Komma steht. Normal steht es hinter der ersten Nicht-Null-Ziffer mit der größten Wertigkeit (also erste Nicht-Null von links)
123456 0 ergibt: 1,23456 Normalform
123456 +2 123,456 Komma 2 Stellen weiter rechts als Normalform
123456 -2 0,0123456 Komma 2 Stellen weiter links als Normalform
123456 +10 12345600000,0 Komma 10 Stellen weiter rechts als Normalform
123456 -10 0,000000000123456 Komma 10 Stellen weiter links als Normalform
Natürlich ist auch der Platz für die Angabe der Kommaposition begrenzt, beispielsweise auf 3 Stellen, so dass man das Komma nur 999 Stellen nach links oder rechts verschieben kann (den Speicherplatz für + oder - mal nicht mitgerechnet).
echo "$verabschiedung $name";
Dim Hallo As String,
[...] Was ich an solchen Dingen schade finde, dass man soo intellektuell und abstrakt beschreiben muß. [...]
Hier die (hoffentlich verständlichere) Kurzform:
Sehr prima, jetzt habe ich eine gute Vostellung um was es geht! Das kann ich zwar noch nicht alles 123 denken etc., aber das ist dann nicht mehr so unangenehm wie vorher... ;-)
Debug.Print "Merci"