Помощь - Поиск - Пользователи - Календарь
Полная версия: 16-чное представление числа
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
18192123
Вот такое задание - подсчитать кол-во троек в 16-ричном представлении числа.
вот что у меня получилось (но считает не все 3-ки):

#include <stdio.h>
#include <stdlib.h>
int main() {
char str[60];
unsigned x,mask;
int i=0;
printf ("Vvedite cheloe neotrichatel'noe 4islo\n");
scanf("%d", &x);
printf("V 16-oi sisteme: %x\n\n",x);
itoa(x, str, 2);
printf("vvedennoe chislo v 2-i sisteme schislenia: %s\n", str);
mask = 0x0011;
while (mask>0)
{
if ((mask&x) == mask)

i+=1;
mask<<=2;

}

printf("\nKol-vo 3-ek v 16-m predstavlenii 4isla: %d\n",i);
return 0;

}

volvo
  mask = 0x3; // Почему у тебя было 0x11 ? Это не тройка, а 17
while (mask>0)
{
if ((mask&x) == mask)
i+=1;
mask<<=4; // А вот тут надо сдвигать на 4, потому что 16 ричное число представляется тетрадами

}


18192123
Понятно. спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.