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, Python: non ci sono interi senza segno.
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 interi con segno che non dipendono dalla piattaforma
- Python utilizza interi con segno che non dipendono dalla piattaforma, con precisione infinita.