Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого - C (СИ)
Формулировка задачи:
Здраствуйте.Всю жизнь программировал на Паскале и вдруг си...помогите пожалуйста с заданиями,желательно с объяснением,ибо чайник полный..
3.Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого.
А вот 3-я задача,только не очень понимаю,что к чему
Вывести на экран восьмеричное представление короткого целого
Решение задачи: «Используя битовые операции, вывести на экран восьмеричное представление беззнакового короткого целого»
textual
Листинг программы
for (i = count; i >= 0; i--) { printf("%d", (num >> i*3)&7); }
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
num
- это беззнаковое короткое целое число, которое необходимо представить в восьмеричном формате.i
- это счетчик, который выполняет роль индекса в цикле.count
- это значение, которое определяет количество разрядов, которые необходимо вывести.printf
- функция вывода информации на экран.(num >> i*3)&7
- это выражение, которое выполняет следующие действия:num >> i*3
- сдвигает числоnum
вправо наi*3
позиций, при этом сохраняя все его биты, кроме трех самых левых.&7
- отбирает только младшие три бита полученного числа.- Результат этого выражения представляет собой одно из значений от 0 до 7, которое соответствует одному разряду восьмеричного числа.
- В цикле выполняется поочередное вычисление и вывод на экран каждого разряда числа
num
, начиная с самого старшего (считая слева направо). Для наглядности, можно представить, что числоnum
представлено в двоичной системе счисления, и цикл поочередно выделяет каждый из его разрядов, сдвигая число вправо и отбирая только нужные биты.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д