Hallo,
ich wollte mir gerade einen Zahltyp definieren, der nur die Werte 0 bis 7 annehmen kann.
Delphi-Quellcode:
Type
TVierBitZahl = 0..7;
Wenn ich nun aber einer Variable dieses Typs den Wert 7 zuweise, und 1 addiere zeigt mir
Delphi-Quellcode:
var
eineZahl :TVierBitZahl;
procedure TForm1.Button2Click(Sender: TObject);
begin
eineZahl := eineZahl + 1;
ShowMessage(IntToStr(eineZahl));
end;
die Meldung den Wert 8 an. Wenn ich das Ganze Probiere und dabei
TVierBitZahl durch
Byte ersetze, dann zwigt er mit 254... 255... 0 an.
Meine Fragen sind nun:
- Woran liegt das?
- Wie bekomme ich es hin, dass auch meine 4bit-Zahl so praktisch überläuft?
Wenn die Sache nicht funktioniert, muss ich wohl oder über immer mit Modulo arbeiten...
MfG,
hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.