Спасибо! Скоро протестирую.
Прошу прощение, уже 10 минут не могу понять почему строка выделенная желтым не работает корректно(отправляет на поток 0 к значению веса Хемминга). Подскажите пожалуйста в чём ошибка. Хотя скорее всего это не ошибка, а нормальная работа, и я что-то забыл
int get_HW(long long x)
{
int r = 0;
while (x){
x &= x - 1;
++r;
}
return r;
}
long long test(long long x, FILE* out)
{
for (int i = 0; i < 1<<7; ++i){
fprintf(out, "i = %3i x = %3i HW = %3i\n", i, x, get_HW(x));
x = x + get_HW(x);
}
return x;
}
int main()
{
FILE* out = fopen("output.txt", "w");
test(1,stdout);
fclose(out);
return 0;
}
Если поменять местами get_HW(x) и x то всё ок