Autor Thema: was zum staunen  (Gelesen 1028 mal)

Offline tower

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
    • Uwe Schräpler IT-Service
was zum staunen
« am: 17.01.03 - 13:37:59 »
Hallo Gemeinde,

macht mal folgendes in einem Agenten:

Sub Initialize
   Dim dd As Double
   dd = 200 * 200
End Sub

und kompiliert das. Ich bekomme ein Overflow. Bei dem Fehler hab ich meine gute Erziehung vergessen.
 :(

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:was zum staunen
« Antwort #1 am: 17.01.03 - 13:56:59 »
@Tower,

Mir fehlt da das nötige Fachwissen
Was ist daran so besonders ?

Ciao

Don Pasquale
« Letzte Änderung: 17.01.03 - 14:12:10 von Don Pasquale »

Offline joringel

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Re:was zum staunen
« Antwort #2 am: 17.01.03 - 14:03:49 »
tjaja... ist nicht so schön, aber zu erklären:

Wenn der Compiler die erste Konstante (200) findet, reserviert er dafür Platz im Speicher, allerdings nur für eine Integervariable (reicht ja erstmal). Das Ergebnis der Operation will er dann aber auch in diesem Speicherplatz ablegen (und erst später dd zuweisen...), was natürlich nicht mehr funktioniert (40.000 > 32.767).

Wenn Du gleich Double-Konstanten verwendest (200#), läufts wieder...

Gruss
Joringel
Nenne nie einen Server 'Lokal'...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz