В 16ричном представлении числа поменять старшую цифру максимальной из цифр числа - C (СИ)
Формулировка задачи:
Вот допустим мы получаем на ввод длинное целое неотрицательное число(unsigned int) нужно в его 16ричном представлении поменять старшую цифру максимальной из цифр числа, а младшую – минимальной. Можете объяснить как и что делать?
Решение задачи: «В 16ричном представлении числа поменять старшую цифру максимальной из цифр числа»
textual
Листинг программы
DWORD __fastcall RevertDWord(DWORD dwValue)
{
return ((dwValue & 0x000000FF) << 24) |
((dwValue & 0x0000FF00) << 8) |
((dwValue & 0x00FF0000) >> 8) |
((dwValue & 0xFF000000) >> 24);
}
Объяснение кода листинга программы
- Входное значение числа dwValue хранится в переменной типа DWORD.
- Используя операции сдвига и побитового И, код переставляет байты числа, сохраняя при этом максимальную цифру на своем месте.
- Выходное значение возвращается в переменной типа DWORD.