2013-11-21 4 views
0

В температурном чипе 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.

Что это за тип, называемый терминологией по математике и информатике?

ответ

1

Это выглядит как нотация с фиксированной точкой: http://en.wikipedia.org/wiki/Fixed-point_arithmetic

Может быть, лучше ссылка: http://chortle.ccsu.edu/AssemblyTutorial/Chapter-29/ass29_7.html

+0

При коэффициенте масштабирования 2^4? Поскольку, если я начинаю с 0,5, который представляется как 0x8 (0b1000), если мы разделим 2^4 (8/2^4), получим 0.5. – Johan

+0

Будет ли это называться «12-битная фиксированная точка с масштабированием 2^4»? – Johan

+0

Да, коэффициент масштабирования, по сути, зависит от того, сколько вам нужно масштабировать, чтобы разместить точку радиуса в своем местоположении. Так как вам нужно сдвинуть опорную точку влево на 4, 2^4 - это правильная сумма, чтобы разделить базовое значение, чтобы получить значение фиксированной точки. Коэффициент масштабирования, вероятно, будет 1/(2^4), так как вы делите исходный номер. Поскольку четыре знаковых бита являются избыточными, я согласен с тем, что 12-битная фиксированная точка звучит правильно. – mattnedrich

Смежные вопросы