/* File: unsignedlimits.c */

/* Stampa numero byte occupati e l'intervallo di definizione per tipi: unsigned
   int, unsigned short, unsigned long */

#include <stdio.h>
#include <limits.h>

int main(void)
{
  printf("Un oggetto unsigned int occupa: sizeof(unsigned int) = %d byte\n",
         sizeof(unsigned int));
  printf("Intervallo definizione unsigned int: 0, UINT_MAX = %u\n\n",
         UINT_MAX);
  printf("Un oggetto unsigned short occupa: sizeof(unsigned short) = %d byte\n",
         sizeof(unsigned short));
  printf("Intervallo definizione unsigned int: 0, USHRT_MAX = %u\n\n",
         USHRT_MAX);
  printf("Un oggetto unsigned long occupa: sizeof(unsigned long) = %d byte\n",
         sizeof(unsigned long));
  printf("Intervallo definizione unsigned int: 0, ULONG_MAX = %u\n\n",
         ULONG_MAX);
  return 0;
}

/* output:

Un oggetto unsigned int occupa: sizeof(unsigned int) = 4 byte
Intervallo definizione unsigned int: 0, UINT_MAX = 4294967295

Un oggetto unsigned short occupa: sizeof(unsigned short) = 2 byte
Intervallo definizione unsigned int: 0, USHRT_MAX = 65535

Un oggetto unsigned long occupa: sizeof(unsigned long) = 4 byte
Intervallo definizione unsigned int: 0, ULONG_MAX = 4294967295

*/
