Thomas: Single-Datentyp Wertebereich?

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

    2. 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

      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. 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

          1. 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

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. 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...

              1. 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";

                1. 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"