Конвертировать из 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;
Другие вопросы по тегам