Einzelnen Beitrag anzeigen

Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#1

Überlauf einer 4bit-Zahl

  Alt 15. Okt 2006, 12:15
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.
  Mit Zitat antworten Zitat