Nella pratica della programmazione compaiono interi
- senza segno / con segno
- che occupano 1 / 2 / 4 / 8 byte
Senza segno
I numeri interi senza segno sono rappresentati internamente in binario assoluto
# byte | # bit | Valore minimo | Valore massimo | |
---|---|---|---|---|
1 | 8 | 0 | 28 – 1 | = 255 |
2 | 16 | 0 | 216 – 1 | = 65.535 |
4 | 32 | 0 | 232 – 1 | = 4.294.967.295 |
Nei linguaggi?
# byte | C | C++ | Java | Python | TP 6 | VB 6 |
---|---|---|---|---|---|---|
1 | ? | ? | Byte | Byte | ||
2 | ? | ? | Word | |||
4 | unsigned long int | ? |
Note
- C, C++, … dipende dalla piattaforma
- Java: non ci sono interi senza segno
- Python: non ci sono i tipi, gli interi hanno precisione infinita
- Turbo Pascal 6: ci sono i tipi Byte e Word
- Visual Basic 6: c’è il tipo Byte
Con segno
La rappresentazione interna è in complemento a 2
# byte | # bit | Valore minimo | Valore massimo | ||
---|---|---|---|---|---|
1 | 8 | –27 | = -128 | 27 – 1 | = 127 |
2 | 16 | –215 | = -32.768 | 215 – 1 | = 32.767 |
4 | 32 | –231 | = -2.147.483.648 | 231 – 1 | = 2.147.483.647 |
8 | 64 | –263 | = -9.223.372.036.854.775.808 | 263 – 1 | = 9.223.372.036.854.775.807 |
Nei linguaggi?
# byte | C | C++ | Java | Python | TP 6 | VB 6 |
---|---|---|---|---|---|---|
1 | ? | ? | byte | ShortInt | ||
2 | ? | ? | short | Integer | Integer | |
4 | long int | ? | int | LongInt | Long | |
8 | long | Comp |
Note
- C, C++, … utilizzano interi che dipendono dalla piattaforma
- Java utilizza soltanto interi con segno che non dipendono dalla piattaforma
- Python utilizza soltanto interi con segno che non dipendono dalla piattaforma, con precisione infinita.