|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Cavallino (LE)
Messaggi: 335
|
[C++] Vecchi compilatori
Ciao a tutti passo subito alla domanda:
Perche' in un sistema MS-DOS a 16 bit se dichiaro una variabile int a = 92126 il valore sara' troncato a 26590? |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
92126 = 10110011111011110 (17 bit) => (16 bit) 0110011111011110 = 26590 |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
perché tipicamente i compilatori a 16 bit stabiliscono che la dimensione di un int sia appunto di 16 bit; contando che gli int di default sono signed il range di valori é da -32768 a +32767, quindi i valori positivi sono in tutto 32768, infatti 92126 % 32768 = 26590.
edit - battuto sul tempo |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Cavallino (LE)
Messaggi: 335
|
Grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:15.




















