fast schon zu peinlich um überhaupt zu fragen
 , aber ich tue dies totzdem, da ich grade in einer ähnlichen Form darüber gestoplert bin.
 , aber ich tue dies totzdem, da ich grade in einer ähnlichen Form darüber gestoplert bin.Der verkürzte Code, worum es geht:
Code: Alles auswählen
program Project1;
var a,b:Byte;
begin
  a:=50;
  b:=250;
  if      a-b  < 10 then Writeln('ja') else Writeln('nein');   // es wird ja   ausgegeben
  if Byte(a-b) < 10 then Writeln('ja') else Writeln('nein');   // es wird nein ausgegeben
  Writeln(a-b);                                                // -200
  Writeln(Byte(a-b));                                          // 56
  ReadLn;
end.
Wenn ich von 50 den Wert 250 abziehe, gibt es natürlich einen Unterlauf.
Das Ergebnis müsste 56 sein.
Dies trifft jedoch nur zu, wenn ich einen expliziten "Byte Typecast" mache, obwohl es ja schon Bytes sind.
Ist das Ergebnis der Subtraktion automatisch ein Integer ?


 Verein
Verein 
 Links
Links Suche
Suche