Перейти до основного контенту

Скільки разів у двійковому записі числа 1025 зустрічається одиниця?

10 хв читання
2020 переглядів

Двійкова система числення відіграє важливу роль у сучасній обчислювальній техніці. Вона грунтується на використанні всього двох цифр - 0 і 1. У зв'язку з цим, одним з цікавих питань, які можуть виникнути, є кількість одиниць в двійковій записи певного числа.

Розглянемо конкретний приклад. Число 1025 в двійковій системі числення буде виглядати наступним чином: 10000000001. Тепер виникає питання: скільки одиниць міститься в цьому записі?

Підрахунок кількості одиниць можна провести простим чином - за допомогою підрахунку кожної одиниці в запису числа. В даному випадку число 1025 містить тільки дві одиниці - перша і остання цифри числа. Отже, кількість одиниць у двійковому записі числа 1025 дорівнює 2.

Методи підрахунку одиниць у двійковому записі числа 1025

Існує кілька методів підрахунку одиниць у двійковому записі числа:

1. Перебір цифр

Найпростіший метод полягає в переборі всіх цифр в двійковій записи числа і підрахунку одиниць. Для числа 1025 це означає перебір 11 цифр і підрахунок кількості одиниць.

2. Побітова операція"і"

Більш ефективним методом є використання побітової операції "і" для підрахунку одиниць. Це дозволяє скоротити кількість операцій до кількості одиниць в числі. Для числа 1025 можна використовувати наступний код:

int countOnes(int n) < int count = 0; while (n >0) < if (n & 1) < count++; >n >>= 1; > return count; > int onesCount = countOnes(1025);

В даному коді змінна " count "ініціалізується нулем, а потім в циклі перевіряється кожен біт числа"n". Якщо біт дорівнює 1, то значення змінної "count" збільшується на 1. Потім число " n "зміщується на один розряд вправо за допомогою операції зсуву">>=". Цикл виконується до тих пір, поки число "n" не стане рівним 0.

Результатом виконання коду буде змінна "onesCount", що містить кількість одиниць у двійковому записі числа 1025.

Зверніть увагу, що в даному коді використовується мова програмування C++. Для інших мов програмування можуть бути невеликі відмінності в синтаксисі.

Переклад числа 1025 в двійкову систему і підрахунок одиниць

Щоб перевести число 1025 в двійкову систему, проведемо наступні дії:

1. Розділимо число 1025 на 2:

1025 ÷ 2 = 512, залишок 1

2. Розділимо отримане ПРИВАТНЕ 512 на 2:

512 ÷ 2 = 256, залишок 0

3. Розділимо отримане ПРИВАТНЕ 256 на 2:

256 ÷ 2 = 128, залишок 0

4. Розділимо отримане ПРИВАТНЕ 128 на 2:

128 ÷ 2 = 64, залишок 0

5. Розділимо отримане ПРИВАТНЕ 64 на 2:

64 ÷ 2 = 32, залишок 0

6. Розділимо отримане ПРИВАТНЕ 32 на 2:

32 ÷ 2 = 16, залишок 0

7. Розділимо отримане ПРИВАТНЕ 16 на 2:

16 ÷ 2 = 8, залишок 0

8. Розділимо отримане ПРИВАТНЕ 8 на 2:

8 ÷ 2 = 4, Залишок 0

9. Розділимо отримане ПРИВАТНЕ 4 на 2:

4 ÷ 2 = 2, Залишок 0

10. Розділимо отримане ПРИВАТНЕ 2 на 2:

2 ÷ 2 = 1, залишок 0

11. Розділимо отримане ПРИВАТНЕ 1 на 2:

1 ÷ 2 = 0, залишок 1

Тепер необхідно записати залишки від ділення в зворотному порядку, отриману послідовність цифр, що є двійковим поданням числа 1025:

102510 = 100000000012

Для підрахунку кількості одиниць в двійковій записи числа 1025, будемо проходити по кожній цифрі і вважати кількість одиниць. В даному випадку, кількість одиниць дорівнює 3.

Застосування бітової маски для підрахунку одиниць у двійковому записі числа 1025

Двійкова запис числа 1025 являє собою послідовність бітів, що складається з 0 і 1. Для підрахунку кількості одиниць в цьому записі можна застосувати бітову маску.

Бітова маска-це послідовність бітів, яка використовується для фільтрації або перетворення іншої послідовності бітів. В даному випадку бітова маска буде складатися з одиниць, так як нам потрібно підрахувати кількість одиниць в двійковій записи числа.

Для підрахунку кількості одиниць в двійковій записи числа 1025 можна використовувати наступний алгоритм:

  1. Ініціалізувати змінну count в нульове значення, яка буде зберігати кількість одиниць.
  2. Застосувати бітову маску 1 & число, де & - це побітове і.
  3. Якщо результат побітового і дорівнює 1, збільшити значення змінної count на 1.
  4. Зсуньте бітову маску на одну позицію вправо (бітовий зсув)
  5. Повторити кроки 2-4 до тих пір, поки бітова маска не стане рівною нулю.
  6. Отримане значення змінної count дорівнюватиме кількості одиниць у двійковому записі числа 1025.

Таблиця нижче представляє приклад застосування даного алгоритму:

Бітова маскаЧислоРезультат побітового іcount
0000 0000 0000 0000 0000 0000 0000 00010000 0100 0000 00010000 0000 0000 0000 0000 0000 0000 00011
0000 0000 0000 0000 0000 0000 0000 00010000 0100 0000 00010000 0000 0000 0000 0000 0000 0000 00012
0000 0000 0000 0000 0000 0000 0000 00010000 0100 0000 00010000 0000 0000 0000 0000 0000 0000 00013
. . . .
0000 0000 0000 0000 0000 0000 0000 00010000 0100 0000 00010000 0000 0000 0000 0000 0000 0000 000011

Після завершення алгоритму значення змінної count буде 11, Що означає, що двійковий запис числа 1025 містить 11 одиниць.

Використання циклів для підрахунку одиниць у двійковому записі числа 1025

Двійковий запис числа 1025-це послідовність з 11 бітів: 10000000001.

Для підрахунку кількості одиниць в даній двійковій записи можна використовувати цикл, який переглядає кожен біт числа і збільшує лічильник, якщо поточний біт дорівнює одиниці.

Приклад коду на мові Python:

count = 0number = 1025while number > 0:if number % 2 == 1:count += 1number //= 2print(f"Количество единиц в двоичной записи числа 1025: ")

В даному прикладі змінна count ініціалізується нулем, а змінна number приймає значення 1025. Потім запускається цикл, який виконується, поки Значення number більше нуля. Усередині циклу перевіряється залишок від ділення числа на 2: якщо залишок дорівнює 1, значить поточний біт дорівнює одиниці, і лічильник count збільшується на одиницю. Потім число ділиться на 2 за допомогою операції цілочисельного ділення //=. В результаті цикл переглядає всі біти числа, і в змінній count виявляється кількість одиниць.