9 puan yazan xguru 2022-02-10 | 1 yorum | WhatsApp'ta paylaş
  • Toplayıp 2’ye bölmek taşmaya yol açar

→ (a + b) / 2

  • Hangisinin büyük olduğunu biliyorsanız, iki değerin farkını küçük olana ekleyip ardından 2’ye bölmek de mümkündür

→ low + (high - low) / 2

  • Hangisinin büyük olduğunu bilmeseniz de mümkün olan algoritmanın patenti 2016’da sona erdi

→ (a / 2) + (b / 2) + (a & b & 1)

  • SWAR: register içinde SIMD

→ (a & b) + (a ^ b) / 2

  • Derleyici 64 bit’i destekliyorsa cast etmek

→ ((unsigned long long)a + b) / 2

  • Ve bundan sonrası işlemciye göre assembly kodları... ayrıntılar için orijinal yazıya bakın

1 yorum

 
xguru 2022-02-10

Raymond Chen’in blogu The Old New Thing, Windows geliştirme perde arkasından çeşitli konulara kadar geniş bir yelpazeyi ele alıyor.

Yurtiçinde "Raymond Chen’in Windows Geliştirme 282 Hikâyesi" adıyla bir çeviri kitabı yayımlanmıştı, ancak şu anda baskısı tükenmiş durumda.