Как хранят в Бд отрицательные значения температуры?
Храните в кельвинах, там отрицательных значений не будет :-)
Для хранения таких данных подойдет тип поля INT 
В Вашем случае, при использовании например MySQL  можно использовать TINYINT:TINYINT[(M)] [UNSIGNED] [ZEROFILL]
	Очень малое целое число. Диапазон со знаком от -128 до 127. Диапазон без знака от 0 до 255.