Для заданного целого А поменять местами старший и младший байты - C (СИ)
Формулировка задачи:
Помогите с заданием:
Для заданного целого А поменять местами старший и младший байты. Вывести число А в шестнадцатеричной системе до и после преобразования.
Решение задачи: «Для заданного целого А поменять местами старший и младший байты»
textual
Листинг программы
/*Для заданного целого А поменять местами старший и младший байты. Вывести число А в шестнадцатеричной системе до и после преобразования.*/ #include<stdio.h> #include<stdlib.h> int main() { int k,i,A,B; printf("vvedite chislo < 65535\n"); scanf("%d",&A); k = A << 8; i = A >> 8; B = (k | i) & 65535; printf("%x - %x",A,B); getchar(); getchar(); return 0; }
Объяснение кода листинга программы
- Ввод числа от 0 до 65535
- Сдвиг числа A влево на 8 позиций (старший байт становится младшим и наоборот)
- Сдвиг числа A вправо на 8 позиций (младший байт становится старшим и наоборот)
- Использование операции
логическое И
с числом 65535 для получения результата, в котором старший и младший байты поменялись местами - Вывод числа А и результата преобразования в шестнадцатеричной системе счисления
- Ввод символа для подтверждения выполнения программы
- Завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д