Fixed issue with some sensors due to wrong integer type.

The temperature value was calculated wrongly because the code used int16_t instead of int32_t according to the datasheet. This affects only some sensors.

I guess the problem could also be fixed by a cast in the right place but I don't have a sensor where the original code breaks, so debugging is a bit difficult.