La spiegazione è molto chiara. Aggiungo un'ulteriore situazione: quella in cui la somma di due numeri genera sia un riporto sia un risultato negativo. Questi casi si possono verificare quando si sommano due numeri negativi. In questi casi, dobbiamo sommare il riporto e poi applicare il complemento a 1. Ad esempio, consideriamo la somma di -3 e -4. In binario, -3 si rappresenta come 1100 e -4 come 1011. Sommando questi numeri otteniamo 0111 con un riporto. Aggiungendo il riporto, otteniamo 1000. Poiché questo risultato è negativo, applichiamo il complemento a 1, trasformandolo in 0111, che corrisponde a -7 nel sistema decimale. In generale quando non c'è nessun riporto allora il risultato è sicuramento negativo (MSB=1) e basta applicare il complemento a 1 mentre quando c'è riporto bisogna sommarlo e vedere se risultato è positivo (MSB=0) si lascia così altrimenti (MSB=1) si fa complemento. Aggiungo di stare attenti al numero di bit usati per rappresentare i numeri per evitare overflow altrimenti i conti non tornano. Per ex nel caso di -9 -5 = -13 se rappresentiamo con 4 bit si va in overflow perche il range sarebbe da -7 a +7 e quindi bisogna fare i calcoli con almeno 5 bit
@sabrinaabbinante6962
3 жыл бұрын
Molto chiaro, bravo!
@parideboscato9642
3 жыл бұрын
bomba,chiaro, breve e coinciso !
@MUHAMMEDWAIGA
2 жыл бұрын
posso chiedere la lista dei numeri positivi e negativi? per capire meglio come si ottenga i numeri di overflow. grazie
@vendra9325
3 жыл бұрын
finalmente un video da cui sono riuscito a capire come svolgerle grazie mille!!!!
@bastia4148
3 жыл бұрын
devi stare attento in classe
@vendra9325
3 жыл бұрын
@@bastia4148 dai dai vai a cercare di risolverle senza le mie foto
@GetTheCookie
3 жыл бұрын
Ci fa piacere sapere di aiutare più persone (presumo) della stessa classe, per cui grazie a voi! :)
@vendra9325
3 жыл бұрын
@@GetTheCookie si siamo nella stessa classe
@FedericoCortiana
3 жыл бұрын
Beh, TOP!
@tizianott9346
11 ай бұрын
Ciao, scusa una domanda per capire un po' meglio: Nella tabella di sinistra dei positivi, nella colonna più a sinistra hai scritto -127. Ma se positivo non dovrebbe essere +127? Poi dici che +127 è uguale a 2 elevato alla 7+1 quindi -127 come si trova? Grazie mille per i tuoi video.
@GetTheCookie
11 ай бұрын
L’ultimo bit (Bit più significativo, MSB, più a sinistra), ha valore negativo rispetto al tradizionale (in questo caso, -127 al posto di +128), e questo piccolo trucco é quello che fa funzionare tutto il complemento a 1. E la cosa che lo fa funzionare é proprio il fatto che il bit più significativo é pari alla somma dei valori di tutti gli altri bit meno significativi (cosa non vera in generale), e con segno opposto, per avere un bit di negatività. L’unica differenza tra complemento a 1 e a 2 é che nell’ultimo si usa 128.
@tizianott9346
11 ай бұрын
@@GetTheCookie quindi in questo caso la matematica non segue delle regole chiare? È stato fatto così per fare funzionare il sistema? Grazie mille.
@milenademita8439
4 ай бұрын
8:28 perchè a destra diventa -31 dei bit?
@Bossdellenews
2 жыл бұрын
Ciao mi sei servito molto domani ho una verifica ma per esempio se c’è +32 da convertire e -32 in 7 bit come si fa? E in 5?
@GetTheCookie
2 жыл бұрын
Ciao, spero di essere in tempo per la verifica. 32 in binario su 7 bit vale 0100000. Facciamo le operazioni manualmente: Se hai +32 da convertire usando 7 bit è semplice, dato che i valori dei bit sono [-63, 32, 16, 8, 4, 2, 1] e quindi +32 corrisponde (in complemento a 1) a 0100000. Questa è uguale alla sua rappresentazione binaria che abbiamo trovato prima. Questo vale perché il complemento a 1 di un numero positivo è il numero stesso. Se devi convertire -32 utilizzi lo stesso principio, e visto che -32 = -63 + 16 + 8 + 4 + 2 + 1, accendi tutti i bit tranne quello per 32, e la sua conversione in complemento a 1 vale 1011111. Come puoi notare la prima conversione non è altro che la negazione della seconda (dove c'è 0 nel primo risultato c'è 1 nel secondo e vice versa). Questo accade perché, come discusso nel video, c'è una simmetria tra numeri positivi e numeri negativi. 32 (in complemento a 1) è come -32 (in complemento a 1) con tutti i bit invertiti. Invece per quanto riguarda la seconda domanda, non è possibile fare le stessa operazione con 5 bit a disposizione. Questo perché il range del complemento a 1 è [-2^(n-1) + 1, 2^(n-1) - 1], dove n=5. Quindi potresti rappresentare solo numeri che vanno da -7 a +7. In effetti con 5 bit non puoi neanche convertire 32 in binario, dato che al massimo arrivi a 16+8+4+2+1=31.
@Bossdellenews
2 жыл бұрын
@@GetTheCookie grazie mille e le volevo chiedere mi può spiegare le somme con 2 e tre bit in binario e per esempio convertire +48 in 8 bit
@GetTheCookie
2 жыл бұрын
Per le somme e sottrazioni binarie abbiamo realizzato un video apposito (puoi trovarlo nella playlist del codice binario). Il numero di bit su cui operi è ininfluente se non sfori. Di solito si lavora su 8 bit, ma se sei obbligato a fare somme su 3 o 2 bit ti basta ricordare che hai un valore massimo che puoi rappresentare, e per il resto applichi le consuete regole delle operazioni binarie. Per convertire +48 (presumo in complemento a 1 dato che sei sotto questo video) prima di tutto controlli che ci stia nel range. Con 8 bit (che è quello che abbiamo fatto nel video) il complemento a 1 ti consente di rappresentare numeri nel range [-2^(n-1) + 1, 2^(n-1) - 1]. Quindi dato che n=8, puoi rappresentare numeri da -127 a +127. 48 è incluso e quindi è possibile convertirlo in complemento a 1. 48 in base 10 su 8 bit è 00110000 (se avessi dubbi sulla conversione in binario c'è un video apposta nella stessa playlist di prima). A questo punto dovresti realizzare che essendo il numero positivo, 00110000 è sia la conversione di 48 in binario, sia il numero +48 in complemento a 1 (E già che ci siamo è anche +48 in complemento a 2). Se avessi dovuto rappresentare -48 a questo punto bastava negare il numero e otterresti 11001111, che è -48 in complemento a 1.
@mauropanareo2251
2 жыл бұрын
Perché dici che 111010= -31+16+8+2 non assomiglia a -5 😅 ?
@christianferrario
2 жыл бұрын
@@GetTheCookie a 8:55 dici che il risultato non assomiglia a -5 e che va complementato poiché negativo, ma in realtà il numero è esattamente -5 e complementato ci da +5. Risulta così che +15 -20 fa +5, che è sbagliato. Posso chiedere un chiarimento per favore?
@GetTheCookie
2 жыл бұрын
Nella mia infinita saggezza ho aggiunto alla frase "non assomiglia neanche a -5", anche se appunto quello è -5 in complemento a 1 su 6 bit. Mi è probabilmente crashata qualche parte del cervello dato che era tardi. Quello che stavo cercando di trasmettere è che il numero che abbiamo come risultato dall'operazione, essendo negativo (e quindi complementato in a 1), dal punto di vista binario non assomiglia a +5, che in binario è letteralmente l'opposto. Applicando a -5 l'operazione di complemento a 1 otteniamo 000101, che è 5 e corrisponde al modulo del risultato (quantità positiva, che si somiglia a +5 dato che è proprio +5)
@christianferrario
2 жыл бұрын
@@GetTheCookie in pratica complementiamo il risultato negativo solo per avere una rappresentazione chiara del modulo del risultato, ma il risultato reale è quello non complementato. Ho capito bene? Grazie della risposta anche dopo mesi dalla pubblicazione
@GetTheCookie
2 жыл бұрын
Esatto, poi il computer userà il risultato vero e proprio (111010 per intenderci) per fare quello che deve fare. Noi calcoliamo (opzionalmente) il modulo per leggere il numero. Questa operazione può sembrare poco sensata per il complemento a 1 (dato che se nella tua testa leggi gli 0 come 1 e viceversa ottieni il complemento), ma torna molto untile nel complemento a 2, dove non basta flippare i bit per avere il numero.
@christianferrario
2 жыл бұрын
@@GetTheCookie perfetto grazie mille!
@Bossdellenews
2 жыл бұрын
Mi rispondi in fretta ma se tipo ho -138 da trasformare in 8 bit come faccio?
@GetTheCookie
2 жыл бұрын
In particolare scoprirai che 8 bit non sono sufficienti per -138, dato che il range dei numeri decimali rappresentabili in complemento a 2 è [-128, +127].
@pashark1205
Жыл бұрын
Si ma da binario a decimale perché non lo fate vedere maiii
Пікірлер: 28