Czy przypisanie do zmiennej typu Byte wartości większej niż 255 skutkuje przepełnieniem?
10:13Wed, 3 January 2007 Okazuje się, że akurat w przypadku zmiennej typu Byte w Delphi, przypisanie wartości większej niż można przechować w typie Byte nie skutkuje przepełnieniem (nadpisaniem sąsiednich komórek pamięci, które nie były przeznaczone na naszą zmienną).
Łatwo można to dowieść, deklarując tablicę, przepełniając np. element środkowy i wyświetlając jakie mają wartości elementy sąsiednie. Jeśli elementy sąsiednie mają wartość 0 (Delphi automatycznie inicjuje tablice) to znaczy, że nasza przepełniana komórka tablicy nie uległa przepełnieniu:
var
bajty : array[0..3] of byte;
i : integer;
begin
for i:=0 To 513 Do
bajty[2] := i;
ShowMessage(IntToStr(bajty[1]));
ShowMessage(IntToStr(bajty[3]));
Póki co brak pytań w FAQ.Skomentuj
Aby zamieścić komentarz, proszę włączyć JavaScript - niestety roboty spamujące dają mi niezmiernie popalić.
Komentarze czytelników
Nie ma jeszcze żadnych komentarzy.