Tamsayı taşması, işaretlerinin pozitifden negatife değiştiği bazı bilgisayar veri tiplerinde veya tam tersi durumlarında, geçerli aralıklarının sonuna geldiklerinde ortaya çıkan olguyu ifade eder. Bilgisayar aralıklarında, tamsayı veri türlerinin dairesel aralıkları vardır ve aralıklarının bir ucuna ulaştıklarında derhal aralıklarının diğer ucuna giderler. Buna tamsayı taşması da denir.
İmzalı bir tamsayı -2 31 - (2 31 ) - 1 arasında bir değer tutabilir. Bu tamsayı (-2 31 ) - 1 değerine sahip olamaz; bunun yerine, artacağı bir sonraki sayı, aralığının diğer ucundadır: (2 31 - 1). Menzilinin sonunda negatif değerden pozitif değerine değişim tam sayı taşma örneğidir. Aynı şekilde, bir tamsayı 2 31 değerine sahip olamaz; bu değer bunun yerine aralığının diğer ucuna geçer ve -2 31 olur .
Bu taşma programlanırken önemli sonuçlara yol açar. Bir dizi ancak tamsayı türünün izin verdiği kadar indeks içerebilir ve negatif indeksler sayılmaz. Bir programcı tamsayı türünden izin verenden daha büyük bir dizi oluşturmaya çalışırsa, tamsayı taşması negatif bir dizine neden olacağı için önemli bellek hataları oluşabilir. Bu, özellikle C ++ gibi dizileri denetleyen ve sınırları sınırlı olmayan dillerde tehlikelidir.
Tamsayı taşması gerçekleştiğinde, arabellek taşması, yığın taşması ve yığın arabellek taşması gibi ilgili taşma türleri oluşabilir. Tüm bu durumlarda, tamsayı taşması, bu yapıların akla gelebileceklerinden daha fazla veri içeren bellek yapılarını ezmeye çalışır. Bu taşmalar, basit programlarda, geçersiz okuma veya geçersiz yazma hatasına neden olmaktan çok daha fazlasını yapmaz. Ancak bu sorunun bilgisayar korsanları tarafından yönetilmesi, daha ciddi sorunlara neden olabilecek bellek hatalarını üretebilir.
Çoğu basit programda tamsayı taşması büyük bir sorun değildir. Tamsayı tipinin sınırları, çok fazla veri bir kerede ele alınmadıkça taşma sorununun ortaya çıkmayacağı kadar büyüktür. Bazı durumlarda, artan sayaçlarda olduğu gibi, daha büyük bir aralığa sahip daha büyük bir veri türü kullanılarak taşma hafifletilebilir. Daha büyük veri tipi teoride sonunda aynı taşma problemiyle karşılaşabilir, ancak veri tipi aralıkları büyüdükçe, bunu yapma olasılığı küçülür. Her bir tamsayı veri türünün aralığı, bir sonraki en küçük boyutun en az iki katıdır, bu nedenle ek veriler için yeterli alan vardır.


