Skip to main content

Aritmetik Taşma Nedir?

Bir aritmetik taşma, bilgisayarlarda, özellikle bilgisayar programlama alanında, bir hesaplama veya işlem depolama sistemi veya kayıt işleminin işleyemeyeceği kadar büyük bir sonuç verdiğinde oluşan bir durumdur. Taşma ayrıca, verilen sonuçla depolama için belirlenen hafızayı aştığı zaman miktarını belirtebilir. Bazı durumlarda, verilerin taşması başka bir veri depolama konumunda saklanabilir; diğerlerinde, bir programın çökmesine, yavaş çalışmasına veya yanlış sonuçlara neden olabilir. Aritmetik taşma tam kişisel veya ticari bilgisayarlarla sınırlı değildir, çünkü basit hesap makineleri ve iletişim cihazları aynı zamanda taşıyabilecekleri değerlerin sınırlarını da sınırlar.

Programcılar, almalarında çok yaygın olan programlama hataları olma eğiliminde olduklarından, eğitimlerinin başında aritmetik taşma hatalarıyla başa çıkma yöntemlerini öğrenme eğilimindedir. Aritmetik taşma için birçok farklı yöntem vardır. Programın tasarımı çok önemli bir rol oynamaktadır; Tutarlı ve doğru veri türleri ve uzunlukları kullanan iyi tasarlanmış bir program bu tür hatalarla karşılaşmamalıdır. İşlemlerin sırasını kontrol etmeye ve her şeyi tutarlı tutmaya büyük özen gösterilirse, taşma hatalarından tamamen kaçınılabilir.

Aritmetik taşma hatalarıyla baş etmenin başka bir yolu da işlemleri daha küçük adımlara bölmektir. Bir sistemin basit, küçük işlemleri yapması, büyük sayıları ve aşırı hesaplamaları içeren karmaşık işlemlerden genellikle daha kolaydır. Döndürülen sayının tamamen doğru olması çok önemli olmadığında, bazen programı taşma hatasını bildirecek şekilde yazmak yeterli olacaktır, ancak yine de bir değer döndürür. Bir aritmetik taşma hatasını işlemenin en yaygın yolu, tamamen yoksaymaktır. Bu genellikle zararsız olsa da, yanlış sonuçlar verebilir ve programın kullanışlılığını ve verimliliğini tehlikeye atabilir.

Ariane 5 uçuşu 501, aritmetik taşma hatalarının tehlikelerini açıkça göstermektedir. Uçuş, eski Ariane 4 sistemindeki kodun çoğunu yeniden kullanan Avrupa Ariane 5 harcanabilir fırlatma sisteminin ilk deneme çalışmasıydı. Bununla birlikte, Ariane 5'in ivmesi, Ariane 4'ün hızından önemli ölçüde daha büyüktü ve programlama, ihtiyaç duyulan daha büyük değerleri elde etmek için yeterli değildi. Böylece roket fırlatmadan 37 saniye sonra amaçlanan uçuş yolunu terk etti ve imha edilmesi gerekiyordu. Bu basit programlama hatası yüz milyonlarca ABD Dolarına mal olmuştur.