Quando un numero intero non rientra nell'intervallo del tipo, il valore massimo + 1 viene aggiunto/sottratto (dipende da quale parte dell'intervallo era il numero). Ad esempio,Perché le conversioni implicite C funzionano come fanno?
unsigned short num = 65537;
num avrà un valore 1 (65536 è stato sottratto). La mia domanda è: perché succede? Il mio intuito mi dice che ha qualcosa a che fare con il flag carry e il flag overflow, perché il valore massimo è sempre 1111 ....
Grazie in anticipo!
Si tronca ... – Mehrdad
Esempio perfetto del motivo per cui è necessario compilare praticamente tutti gli avvisi possibili attivati. Per quanto riguarda il motivo per cui è nello standard però .... Nessuna idea: p. (A meno che non intenda specificamente 1. Questo è solo un overflow di complimenti di un 2). – Corbin
Esempio di tale messaggio di avviso: 'avviso: intero grande implicitamente troncato in tipo senza segno ' – curiousguy