Конвертировать из int в двоичный или шестнадцатеричный в mikroc
Я получил значение int от 0 до 255, и я хочу преобразовать это значение в шестнадцатеричное или двоичное, чтобы я мог использовать его в 8-битном регистре (PIC18F uC). Как я могу сделать это преобразование? Я пытался использовать функцию IntToHex из Conversion Library, но вывод этой функции - значение char, и отсюда я застрял. Я использую Mikroc для рис. С чего мне начать? Спасибо!
1 ответ
Это распространенная проблема. Многие не понимают, что десятичное 15 такое же, как шестнадцатеричное F такое же, как октальное 17 такое же, как двоичное 1111.
Различные системы счисления для людей, для процессора, это все двоичные!
Когда ОП говорит,
Я получил значение int от 0 до 255, и я хочу преобразовать это значение в шестнадцатеричное или двоичное, чтобы я мог использовать его в 8-битном регистре (PIC18F uC).
Это отражает это недоразумение. Возможно, потому что отладчик настроен на отображение "десятичных" значений, а пример кода / таблицы данных показывает шестнадцатеричное значение для операций с регистром.
Таким образом, когда вы получаете значение "int" от 0 до 255, вы можете напрямую записать это число в 8-битный регистр. Вам не нужно конвертировать его в гекс. Гекс это просто представление, которое облегчает жизнь человека.
Что вы можете сделать, это - это хорошая практика -
REG_VALUE = (unsigned char) int_value;