2-значное число до 2x 1 цифра

Предположим, у меня есть двузначное число 42. Это целое число, полученное от моего RTC

Теперь для моих 7-сегментных дисплеев мне понадобятся 2 отдельных номера:

  • 4 на дисплее 1.
  • 2 на дисплее 2.

Как разделить это число на 2?

, 👍0

Обсуждение

Каков тип числа? Хранится ли он в настоящее время как строка (например, char* или String) или это целое число (например, int, byte или char)?, @Craig

ОП упоминает, что это целое число., @jfpoilpret


1 ответ


Лучший ответ:

2

Числа, полученные из 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.

Если вывод представляет собой слово, целое или длинное целое, метод точно такой же, за исключением количества цифр, которые вы можете получить.

,