<br><br><div class="gmail_quote">Il giorno 22 gennaio 2009 19.07, Michele O-Zone Pinassi <span dir="ltr">&lt;<a href="mailto:o-zone@zerozone.it">o-zone@zerozone.it</a>&gt;</span> ha scritto:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ciao a tutti,<br>
domanda per i cervelloni (io non riesco a venirne fuori !). Ho un DS1631<br>
collegato, via I2C, al PIC 18F4455. Il DS1631 mi restituisce la temperatura<br>
in 12-bit complemento a due. Praticamente io ho un array di due byte in cui<br>
il most significant byte mi rappresenta la parte intera, con il MSB ad 1 se<br>
negativo o 0 se positivo, mentre il least significant byte contiene la parte<br>
decimale. Un esempio (dal datasheet del DS1631):<br>
<br>
0111 1101 0000 0000 (7d00h) = +125°C<br>
0001 1001 0001 0000 (1910h) = +25.0625 °C<br>
0000 0000 1000 0000 (0080h) = +0.5 °C<br>
0000 0000 0000 0000 (0000h) = 0 °C<br>
1111 1111 1000 0000 (FF80h) = -0.5 °C<br>
1110 0110 1111 0000 (E6F0h) = -25.0625 °C<br>
1100 1001 0000 0000 (C900h) = -55 °C<br>
</blockquote><div><br>&nbsp;</div><div>sembra che i primi 8 bits most significant rappresentino il valore intero della temperatura, <br>mentre il nibble seguente (4 bits) e&#39; relativo alla parte frazionaria: avendo solo 16 valori possibili<br>
ogni bit vale 1/16 (0.0625 °C) <br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
adesso vorrei riuscire a visualizzare anche i decimali :-) ma non riesco<br>
assolutamente a capire come funziona questa storia del complemento a due.<br>
<br>
</blockquote></div>se ricordo bene il complemento a 2 si ottiene facendo il complemento a 1 (gli 1 diventano 0 e viceversa)<br>ed aggiungendo 1.<br><br>+5 = 00000101 (compl.1)-&gt; 11111010 + 1 (compl.2)-&gt; 11111011 = -5<br clear="all">
<br>-- <br>Marco Dei<br>GNU/Linux Registered User #407088 <a href="http://counter.li.org">counter.li.org</a><br><br>Elsaglug <a href="http://www.elsaglug.org">www.elsaglug.org</a><br>