Menghitung rata-rata 2 unsigned int tanpa overflow
(devblogs.microsoft.com)- Menjumlahkannya lalu membaginya dengan 2 dapat menyebabkan overflow
→ (a + b) / 2
- Jika mengetahui mana angka yang lebih besar, kita juga bisa mengambil selisih kedua nilai, menambahkannya ke angka yang lebih kecil, lalu membaginya dengan 2
→ low + (high - low) / 2
- Algoritme yang tetap bisa dipakai meski tidak tahu mana angka yang lebih besar, patennya berakhir pada 2016
→ (a / 2) + (b / 2) + (a & b & 1)
- SWAR : SIMD within a register
→ (a & b) + (a ^ b) / 2
- Jika compiler mendukung 64-bit, lakukan casting
→ ((unsigned long long)a + b) / 2
- Lalu setelah itu ada kode assembly untuk tiap prosesor.. silakan lihat artikel aslinya
1 komentar
Blog Raymond Chen, The Old New Thing, membahas beragam topik, mulai dari kisah di balik pengembangan Windows hingga topik lainnya.
Di Korea pernah terbit buku terjemahan berjudul "282 Kisah Pengembangan Windows oleh Raymond Chen", tetapi saat ini sudah tidak lagi dicetak.