Наш друг Eliud успадкував ферму від своєї бабусі Tigist. Її бабуся була винахідницею і мала схильність будувати речі надто складно. У курятнику є цифровий дисплей, який показує закодоване число, що позначає позиції всіх яєць, які можна зібрати.
Eliud просить нас написати програму, яка показує справжню кількість яєць у курятнику.
Кодування інформації про позиції обчислюється так:
1 там, де яйце вже є, або 0 там, де місце порожнє. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Порахуйте кількість бітів зі значенням 1 у двійковому поданні числа.
Не чіпайте функцію підрахунку бітів, яку надає стандартна бібліотека! Натомість зробіть це самостійно, скориставшись іншими базовими інструментами.
У PHP є побітові оператори.
Наприклад, оператор «побітове І» (&) можна використати, щоб перевірити, чи визначено біт числа:
$number = 89; // 0b01011001
$mask16 = 16; // 0b00010000
$mask32 = 32; // 0b00100000
$isMask16 = ($number & $mask16) > 0; // 0b00010000 > 0 => TRUE
$isMask32 = ($number & $mask32) > 0; // 0b00000000 > 0 => FALSE
Зареєструйтеся на Exercism, щоб вивчати й опановувати PHP, а також 11 концепцій122 вправи та справжнє наставництво від людей, і все це безкоштовно.