Passa al tema normale
Discussioni su Algebra astratta, Logica Matematica, Teoria dei Numeri, Matematica Discreta, Teoria dei Codici, Algebra degli insiemi finiti, Crittografia.

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Somma con complemento a due in sistema binario

19/05/2019, 17:07

Salve a tutti, premettendo di sapere come utilizzare il complemento a due nell'algebra binaria, mi è sorta la necessità di sapere come funziona davvero la matematica dietro di esso (probabilmente ho un basso QI per chiedere certe cosa ahah).
Comunque, presupponendo di voler fare una semplice somma +110 + (-110) in binario:
/0001+
/1111=
10000

Come tutti spiegano, quell, 1 "più a sinistra" chiamato overflow non viene considerato perchè "si scarta".
Quel "si scarta" mi dà un senso di ambiguità: perchè l'aritmetica continua a funzionare anche eliminando una cifra?
Allora ho provato a fare la stessa cosa in decimale (si chiama complemento a dieci?):
/01+
/99=
100

Presupponendo che 99 in complemento sia uguale a -1 con segno
Ed infatti funziona.
Ciò mi fa pensare che il risultato non sia semplicemente "leva il bit in overflow" ma è "il risultato ottenuto rappresenta una classe resto modulo B^(n_bit+1)" dove B è la base di quel sistema di numerazione.
Peranto 100=0 modulo 100 (cento), così come 10000=0000 modulo 10000.
Il mio ragionamento è corretto? Onestamente non ho trovato nulla di interessante in rete, pertanto potrei essere lontanissimo dalla spiegazione vera.

Un'altra cosa che non ho compreso è:
Se ho il numero binario in complemento, 1111 equivale a -(2^4)+2^3+2^2+2^1+2^0 = -1 in decimale con magnitudo.
Questa tecnica di rappresentare l'ultimo bit come -(B^n) è una pecularietà solo del sistema binario?
Con 99 (complementato) ciò non funziona: -1 =/= -(10*9)+9
Per quale motivo?

Grazie mille per aver letto, scusatemi ancora se questa domanda è una sciocchezza, nel caso la eliminerò.

Re: Somma con complemento a due in sistema binario

24/05/2019, 18:55

Se usi lo stesso linguaggio dovresti scrivere $-1=-10^2+9*10+9*1$ e in questo caso funziona.
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.