Определить число единиц в каждом байте длинного целого числа N - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задали сделать программу:Определить число единиц в каждом байте длинного целого числа N. Я написал программу,но она некорректно работает.Помогите,пожалуйста,исправить
#include 
void main(void)
{
    int z,l=0; 
    unsigned y; 
    unsigned mask; 
    int ctr;
    int i;
    i=0;
    mask=1;
    ctr=0;
    printf("z = ");
    scanf("%x", &z);
    y = (unsigned int)z;
    while(y!=0)
        {
            l=y&mask;
            if(l==1)
            {
                ctr++;
            }
            y>>=1;
            i++;
            if(i==8)
            {
                printf("ctr=%d\n",ctr);
                    i=0;
                ctr=0;
            }
    }
    if(i>0,i<8)
    {
        printf("ctr=%d\n",ctr);
    }
}

Решение задачи: «Определить число единиц в каждом байте длинного целого числа N»

textual
Листинг программы
if(i>0 && i<8)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы