IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> 16-чное представление числа, Си
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Вот такое задание - подсчитать кол-во троек в 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;

}



Сообщение отредактировано: 18192123 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

}


 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Понятно. спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.09.2020 20:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name