Einzelnen Beitrag anzeigen

w3seek
(Gast)

n/a Beiträge
 
#8

Re: Konvertiere signed zu unsigned

  Alt 15. Apr 2004, 02:58
@SirThornberry
Das aendert nichts an der Tatsache dass code ohne jeglichen Warnungen und Hinweisen kompiliert werden koennte. Und ja, der Hinweis ist auch in dem Fall berechtigt, denn der Compiler korrigiert automatisch (kann aber auch fehlerhaft korrigiert werden) deinen fehler und warnt dich, dass man eben nur gleiche typen vergleichen soll.

angenommen:
Code:
if -8 (also signed) > 4 (unsigned) then ...
es gibt zwei moeglichkeiten wie man sowas interpretieren koennte:
1. beide typen auf signed bringen, dann waere die bedingung false, da -8 nunmal nicht groesser als 4 ist.
2. beide typen auf unsigned bringen, damit wuerde man z.b. wenn man beide auf Cardinal haette folgende bedingung: ($FFFFFFFF-7) > 4 und dann waere die bedingung natuerlich true

Ob das im einzelnen fall (wie z.b. Timer) je der Fall ist, kann der compiler nicht wissen. Deshalb lieber einen typecast mehr als eine haessliche Warnung/Hinweis.
  Mit Zitat antworten Zitat