В температурном чипе DS18B20 значение температуры сохраняется с 12 бит, где целая часть составляет 2 дополнения, а нижние 4 бита - это десятичная часть.Что такое тип данных, используемый в DS18B20?
Схема такова:
Bit 11 Signed
Bit 10..4 2^7 .. 2^0
Bit 3..0 2^-1 .. 2^-3
Подробнее DS18B20.pdf page 4
Таким образом, чтобы представить число 0.5 мы устанавливаем бит 3, так как 2^-1 является 0,5. И для обозначения числа 0,75 имеем ser бит 3 и 2, так как 2^-1 + 2^-2 = 0,75.
Что это за тип, называемый терминологией по математике и информатике?
При коэффициенте масштабирования 2^4? Поскольку, если я начинаю с 0,5, который представляется как 0x8 (0b1000), если мы разделим 2^4 (8/2^4), получим 0.5. – Johan
Будет ли это называться «12-битная фиксированная точка с масштабированием 2^4»? – Johan
Да, коэффициент масштабирования, по сути, зависит от того, сколько вам нужно масштабировать, чтобы разместить точку радиуса в своем местоположении. Так как вам нужно сдвинуть опорную точку влево на 4, 2^4 - это правильная сумма, чтобы разделить базовое значение, чтобы получить значение фиксированной точки. Коэффициент масштабирования, вероятно, будет 1/(2^4), так как вы делите исходный номер. Поскольку четыре знаковых бита являются избыточными, я согласен с тем, что 12-битная фиксированная точка звучит правильно. – mattnedrich