Как число из 10сс перевести в 2сс? - C (СИ)

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

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

Получаю в программе на си в переменной int 4х байтовое число в 10сс 24576 мне из него нужно получить 2 младших байта в 2сс (2 старших байта в этом числе наверно будут нулевые, т.к число меньше 64к) Не могу найти код на чистом си для перевода 10сс в 2сс, на с++ что то попадается, но наверно это другой язык. зы - по форуму искал, пишет что нет совпадений, а в инетете нашел только с++, может кто то что то подскажет дельное?

Решение задачи: «Как число из 10сс перевести в 2сс?»

textual
Листинг программы
  1. int stat = 0xff00;
  2. char str[17];
  3.  
  4. for (int i = 0; i < 16; i++) {
  5.     str[i] = stat & (0x00000001 << (15 - i)) ? '1' : '0';
  6. }
  7.  
  8. str[16] = 0;
  9.  
  10. printf("\n  status %d, 2cc %s ", stat, str);

Объяснение кода листинга программы

  1. Объявляются две переменные: stat типа int и str типа char.
  2. В переменной stat фиксируется значение 0xff00.
  3. В цикле for происходит нарезка строки str значениями битов от старшего (15-й позиции) к младшему (0-й позиции).
  4. В каждой итерации цикла в соответствующую позицию строки str записывается значение бита: если бит установлен, то в позицию записывается символ '1', если бит не установлен, то в позицию записывается символ '0'.
  5. После завершения цикла, последняя позиция строки str инициализируется нулевым символом, что обеспечивает завершение строки.
  6. Выводится сообщение с значениями переменных stat и str.

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


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

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

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы