Overflow'u taşma olarak Türkçeleştirebiliriz. Bir değişkene, değişkenin sınırlarını aşacak şekilde değer atarsak taşma gerçekleşir ve bilgisayar yanlış hesaplamalar yapar. Bir şeyleri yanlış hesaplamak istemeyiz, bu nedenle taşmaya çok dikkat edilmelidir.
Byte 0 ile 255 arasında değer alır. Sbyte -128 ile 127 arasında değer alır. Bir byte değişkene 356 atamaya çalışırsak OverflowExeption hatası alırız.
Hata aldığımızdan dolayı burada sıkıntı yok. Sıkıntılı durum, aşağıda da örneklerinin olduğu, bir şeylerin hesaplanıp bir değere atılması durumunda hesaplanan değerin atanacağı değişkenin sınırlarından büyük olması durumudur. Burada hata almayız, biz farkına varamazsak kodumuz yanlış değerler üretebilir.
1. ya da 2. sınıfta haftalık ödev olarak hazırladığım overflow örnekleri aşağıda.
Overflow gözlenmemiştir. Sonuç doğrudur.
Overflow gözlenmiştir. İşaret doğrudur ancak sonuç doğru değildir.
Overflow gözlenmiştir. İşaret de sonuç da yanlıştır. Burada sbyte yerine byte kullansaydık bilgisayar sonucu doğru hesaplayacaktı.
Overflow gözlenmiştir. İşaret doğrudur ancak sonuç yanlıştır.
Overflow gözlenmiştir. İşaret ve sonuç yanlıştır.
Hiç yorum yok:
Yorum Gönder