por Pask » 06 Mar 2015 14:30
Realmente, eu havia me esquecido do complemento de 2:
Por exemplo, na página 6 do datasheet temos a forma como o DS1820 faz a leitura da temperatura de +25ºC => 0000 0000 0011 0010
Em que os primeiros 8 bits representam o valor 25 binário mais o 1/2 dígito e os últimos 8 bits são todos 0 enquanto a temperatura for positiva.
Quando o DS1820 faz a leitura do valor de -25ºC, ele apresenta o resultado em complemento de dois => 1111 1111 1100 1110
Em que os primeiros 8 bits representam o valor 25 negativo em complemento de dois e os 8 últimos bits são todos 1 enquanto a temperatura for negativa.
Resumindo, a representação binária de números negativos só é possível em complemento de dois e todos os números negativos começam com 1.