2-значное число до 2x 1 цифра
Предположим, у меня есть двузначное число 42. Это целое число, полученное от моего RTC
Теперь для моих 7-сегментных дисплеев мне понадобятся 2 отдельных номера:
- 4 на дисплее 1.
- 2 на дисплее 2.
Как разделить это число на 2?
@Rumanoid, 👍0
Обсуждение1 ответ
Лучший ответ:
Числа, полученные из rtc, обычно возвращаются в виде символа или целого числа.
На этом основании вы хотите
ones_column = bytefromrtc % 10;
tens_column = (bytefromrtc / 10) % 10;
hundreds_column = (bytefromrtc / 100) % 10;
оператор %
возвращает модуль — если вы разделите 42 на 10, ответ будет равен 4 с остатком 2. % возвращает остаток, в данном примере 2.
Чтобы сделать столбец десятков, сначала избавьтесь от последней цифры, разделив на 10, а затем выполните модуль, как указано выше. Поскольку bytefromrtc не является числом с плавающей запятой, при его делении вы теряете остаток — 42/10 = 4, а не 4,2.
Если вывод представляет собой слово, целое или длинное целое, метод точно такой же, за исключением количества цифр, которые вы можете получить.
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Как отобразить символ º на ЖК-дисплее?
- Путаница между SPI и I2C для SSD1306 OLED
- Потенциометр 10 кОм против резистора 10 кОм на ЖК-дисплее
- Не могу заставить 4 значный 7 сегментный дисплей показывать разные значения
- Сделать CS (chip select) для работаты в SPI (для и SD карты и OLED)
- Запуск 7-контактного OLED-дисплея с 4 контактами (I2C)
- Как отобразить переменные с плавающей запятой на OLED-дисплее (0,96 дюйма)
Каков тип числа? Хранится ли он в настоящее время как строка (например, char* или String) или это целое число (например, int, byte или char)?, @Craig
ОП упоминает, что это целое число., @jfpoilpret