Задача к ЕГЭ по информатике на тему «арифметические выражения» №1

Сколько единиц содержится в двоичной записи значения выражения: 24 + 28 + 216  ?

Решение руками:

Переведем в систему счисления равную 2 и получим:

1000...000+1 000...000+1 000...000 = 1000...0001000...000 1000...000  ◟--◝1◜6--◞   ◟--◝◜8--◞   ◟--◝4◜--◞   ◟--◝◜7--◞ ◟--◝3◜--◞ ◟--◝4◜-◞

Итого 3 единицы.

Решение Python:

# Способ 1
a = 2**4 + 2**8 + 2**16
s = ’’
# Переводим числовое выражение в 2СС
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))
# Способ 2
s = bin(2**4 + 2**8 + 2**16)[2:]
print(s.count(’1’))

Ответ: 3
Оцените статью
Я решу все!