Seite 3 von 3
Verfasst: 07.05.2007 23:04
von Kaeru Gaman
mk-soft hat geschrieben:Das ist eine normales Verhalten von den Prozessor bei Addition und somit
in der Verantwortung des Programmierers Bereichsfehler zu vermeiden.
SIC!
...und somit beweist sich wieder der alte spruch:
die obere grenze für die leistungsfähigkeit eines programmes ist die intelligenz des programmierers.
allerdings:
ich würde mir auch wünschen, dass bei der verwendung von Char-Variablen in For-schleifen zumindest eine Kompilerwarnung ausgegeben wird.
auch wenn es
keinen vernünftigen grund gibt, für eine For-schleife einen kleineren datentyp als LONG zu verwenden.
Verfasst: 08.05.2007 10:47
von jear
Die Hilfe zu ändern, um das Problem zu beseitigen ist ja wohl der billigste Weg. Besser wäre natürlich, wenn im PB-Compiler solche Schnitzer ausgebügelt würden.
Mein Kode benutzt keine Char-Variablen in Schleifen. Er demonstriert einfachste Größenvergleiche von Char-Variablen, die auch bei der Behandlung als Charakter eigentlich richtig aufgelöst werden müssten.
Ich bleibe dabei: Es ist ein Bug, der nicht durch Ändern der Hilfe gelöst werden sollte!
Code: Alles auswählen
; jear 070507
; Test Char
Dim wert.c(5)
Define.c min, max, HC
wert(0) = 87
wert(1) = 210
wert(2) = 150
wert(3) = 92
wert(4) = 252
wert(5) = 15
min = 255 : max = 0
For ix = 0 To 5
HC = wert(ix)
Debug Str(ix) + ".Wert ist : " + Str(HC)
If HC < min : min = HC : Debug "min neu = " + Str(min) : EndIf
If HC > max : max = HC : Debug "max neu = " + Str(max) : EndIf
Next
Debug "min = " + Str(min)
Debug "max = " + Str(max)