CODIFICA
DEI VALORI
Nei microcontrollori/micro si usano delle parole a
8, 16, 32, 64 e più BIT che rispettivamente permettono di implementare:
Parola
Valore Massimo in numero di Bit
8
256
16
65536
ecc..
In altri termini più la parola diventa grande è
più aumenta la possibilità di calcolo del microcontrollore.
Un microcontrollore con parola da 8bit con AD
converter sempre a 8bit avrà una risoluzione massima di 256 valori
diversi.
Se si usasse la codifica standard i valori rappresentabili con parola a 8bit
sarebbero solo valori positivi compresi tra 0 e 255.
Nella pratica quando si devono rappresentare valori anche negativi si usa
parlare di valore SIGNED_BYTE che comprende valori da -128 a +127.
In questo caso si usa un bit_7 (d7), il più significativo (MSB), degli 8bit
della parola per indicare il segno.
Praticamente i valori vengono codificati come riportato sotto.
Questa codifica con segno viene chiamata COMPLEMENTO a DUE.
Binario
Decimale Decimale Con Segno (complemento a due)
d7...........d0
00000000
0
+0
00000001
1
+1
00000010
2
+2
......
....
....
......
....
....
......
....
....
01111111
127
+127
10000000
128
-128
10000001
129
-127
10000010
130
-126
......
....
....
......
....
....
11110001
241
-15
11110010
242
-14
......
....
....
......
....
....
11111111
255
-1
Se si effettuano operazioni tra numeri Interi e numeri Negativi spesso si ha un
riporto
28 00011100 equivale a +28
-15 11110001 equivale a -15
13 1 00001101 equivale a +13