10 Temmuz 2019 Çarşamba

Hamming Weight

Giriş
Hamming Weight kabaca bir sayıda kaç tane 1 biti olduğunu saymak gibi düşünülebilir.

Örnek
Bir vector içindeki ardışık sayıların hamming weight toplamını bulmak için şöyle yaparız.
int hamming_distance(std::vector<int> const &input) { 
  int total = 0;
  for (int i=0; i<input.size(); i++) {
    for (int j=i+1; j<input.size(); j++) {
      auto diff = input[i] ^ input[j];                
      total += 2 * std::bitset<32>(diff).count();
    }  
   }
  return total;
}

Hiç yorum yok:

Yorum Gönder