Numeri interi

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# bitValore minimoValore massimo
1802^8 – 1= 255
21602^16 – 1= 65.535
43202^32 – 1= 4.294.967.295

Nei linguaggi?

# byteCC++JavaPythonTP 6VB 6
1??ByteByte
2??Word
4unsigned 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# bitValore minimoValore massimo
182^7= -1282^7 – 1= 127
2162^15= -32.7682^15 – 1= 32.767
4322^31= -2.147.483.6482^31 – 1= 2.147.483.647
8642^63= -9.223.372.036.854.775.8082^63 – 1= 9.223.372.036.854.775.807

Nei linguaggi?

# byteCC++JavaPythonTP 6VB 6
1??byteShortInt
2??shortIntegerInteger
4long int?intLongIntLong
8longComp

Note

  1. C, C++, … utilizzano interi che dipendono dalla piattaforma
  2. Java utilizza soltanto interi con segno che non dipendono dalla piattaforma
  3. Python utilizza soltanto interi con segno che non dipendono dalla piattaforma, con precisione infinita.