Jelaskan // Algoritme iteratif dari Penambahan

int tambah(int x, int y) {

while (y != 0) {

simpan = AND(x, y);   // AND logis

x      = XOR(x, y);   // XOR logis

y      = simpan << 1;  // bitshift simpan ke kiri satu kali

int tambah(int x, int y) {

return x if (y == 0) else tambah(XOR(x, y), AND(x, y) << 1);

Di komputer, jika hasil penjumlahan terlalu besar untuk disimpan, maka terjadi luapan aritmetika, menghasilkan jawaban yang salah. Luapan aritmetika yang tidak terduga adalah penyebab yang cukup umum dari kutu program. Kutu luapan seperti ini bisa jadi sulit ditemukan dan didiagnosis karena ia hanya muncul untuk himpunan data input besar, yang cenderung tidak digunakan dalam tes validasi. Masalah tahun 2000 adalah serangkaian kutu di mana kesalahan luapan terjadi karena penggunaan format 2 digit selama bertahun-tahun.