Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого - C (СИ)

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

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

Здраствуйте.Всю жизнь программировал на Паскале и вдруг си...помогите пожалуйста с заданиями,желательно с объяснением,ибо чайник полный.. 3.Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого. А вот 3-я задача,только не очень понимаю,что к чему Вывести на экран восьмеричное представление короткого целого

Решение задачи: «Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого»

textual
Листинг программы
for (i = count; i >= 0; i--)
{
   printf("%d", (num >> i*3)&7);
}

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

В данном коде выполняется следующие действия:

  1. num - это беззнаковое короткое целое число, которое необходимо представить в восьмеричном формате.
  2. i - это счетчик, который выполняет роль индекса в цикле.
  3. count - это значение, которое определяет количество разрядов, которые необходимо вывести.
  4. printf - функция вывода информации на экран.
  5. (num >> i*3)&7 - это выражение, которое выполняет следующие действия:
    • num >> i*3 - сдвигает число num вправо на i*3 позиций, при этом сохраняя все его биты, кроме трех самых левых.
    • &7 - отбирает только младшие три бита полученного числа.
    • Результат этого выражения представляет собой одно из значений от 0 до 7, которое соответствует одному разряду восьмеричного числа.
  6. В цикле выполняется поочередное вычисление и вывод на экран каждого разряда числа num, начиная с самого старшего (считая слева направо). Для наглядности, можно представить, что число num представлено в двоичной системе счисления, и цикл поочередно выделяет каждый из его разрядов, сдвигая число вправо и отбирая только нужные биты.

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


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

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

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