Con sistemi di numero decimale, ciascuna posizione numero (o colonna) rappresenta (legge un numero da destra a sinistra): unità (che è 10^0), decine (cioè 10^1), centinaia (cioè 10^2), ecc.
Con numeri binari senza segno, la base è 2, quindi ogni posizione diventa (di nuovo, lettura da destra a sinistra): 1 (cioè 2^0), 2 (cioè 2^1), 4 (cioè 2^2), ecc
Ad esempio
Nel complemento a due complementi il bit più significativo (MSB) diventa negativo. Pertanto rappresenta il segno numerico: '1' per un numero negativo e '0' per un numero positivo.
Per un numero a tre bit righe terrebbe questi valori:
-4, 2, 1
0 0 1 => 1
1 0 0 => -4
1 0 1 => -4 + 1 = -3
Il valore dei bit detenuti da un punto fisso sistema (frazionaria) è invariato. valori di colonna seguono lo stesso motivo come prima, base (2) per una potenza, ma con potenza ad andamento negativo:
2^2 (4), 2^1 (2), 2^0 (1) . 2^-1 (0.5), 2^-2 (0.25), 2^-3 (0.125)
-1 saranno sempre 111.000
-0.5 aggiungere 0,5 ad esso: 111.100
Nel tuo caso 110100.10
equivale a -32 + 16 + 4 + 0,5 = -11,5. Quello che hai fatto è stato creare -12 quindi aggiungere 0,5 anziché sottrarre 0,5.
quello che realmente vuole è -32 + 16 + 2 + 1 + 0,5 = -12,5 = 110011.1