X=16**4 +8**4 +4**6 - 64 k=0
while x>0:
if x%2==1:
k+=1
x=x//2
print (k)
, объясните подробно принцип работы этой программы

sevostyanova3064 sevostyanova3064    1   12.07.2021 17:01    1

Ответы
edbaldin2017 edbaldin2017  11.08.2021 18:11

Кратко:

Программа выдает количество единиц в двоичной записи числа.

Подробно:

При переводе числа в двоичную систему счисления идет целочисленное деление на 2, остатки записываются в двоичную форму числа. У нас здесь то же самое, но остатки проверяются на нечетность, т.е являются ли они единицей и количество таких остатков записывается в k


X=16**4 +8**4 +4**6 - 64 k=0 while x>0: if x%2==1: k+=1 x=x//2 print (k) , объясните подробно при
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика