У меня есть ситуация с моим программированием на C, и я просто задаюсь вопросом, является ли мое решение правильным:
У меня есть светодиодный дисплей с датчиком количества частиц, и в качестве значения счетчика будет отображаться 6 цифр из семи номеров сегментов. Датчик выдаст входное значение напряжения. Вход от 0 до 10 В. Таким образом, диапазон 0В-10В должен отображаться на дисплее как число от 000000 до 999999.
Мое решение:
Номер дисплея = Входное напряжение * 99999,9
Например:
Номер дисплея = 10.000 * 99999.9 = 999999
Дисплей номер = 5,500 * 99999,9 = 549999
Дисплей номер = 2.300 * 99999.9 = 229999
Это правильное решение? Я заметил, что я получу много 9 на дисплее значения.
Наиболее удобное и удобное решение — игнорировать тот факт, что ваша самая значимая цифра способна отображать до 9, и просто умножить на 10000, если вам не нужно максимальное разрешение, в этом случае просто используйте масштабный коэффициент 100000 и документируйте, что ваш диапазон 0-9,99999.
Я рассуждаю так: лучше потерять одну цифру с точностью во всем диапазоне или обрезать только максимальное значение, чем иметь ошибку во всем диапазоне.