/* Limites para a representacao de inteiros */ #include #include /* incluir este arquivo !!*/ int main(void) { /* void tambem pode ser usado, se nao precisa dos argumentos */ int i; long int j; long long int k1,k2,k3,k4; /* Limites maximo e minimo: valor das variaveis esta em limits.h !! */ printf("Valor maximo para inteiros nesta maquina: %-20d\n",INT_MAX); printf("Valor minimo para inteiros nesta maquina: %-20d\n",INT_MIN); printf("Valor maximo para inteiros longos nesta maquina: %-20d\n",LONG_MAX); printf("Valor minimo para inteiros longos nesta maquina: %-20d\n",LONG_MIN); i = INT_MAX+1; j = INT_MAX+1; printf("Um alem do maximo vale: (int) %1d, (long int) %1ld\n\n",i,j); printf("\n"); k1 = INT_MAX+ (long long int)1000; k2 = INT_MAX+1000; k3 = INT_MAX+1; k4 = 5123456789; printf("\n"); printf("Um alem do maximo vale: (long long int) %I64d\n",k1); printf("Um alem do maximo vale: (long long int) %I64d\n",k2); printf("Um alem do maximo vale: (long long int) %I64d\n",k3); printf("Um alem do maximo vale: (long long int) %I64d\n",k4); i = INT_MIN-1; j = INT_MIN-1; printf("\n"); printf("Um abaixo do minimo vale: (int) %1d, (long int) %1ld\n", i, j); /* Quantos bytes para um inteiro? */ printf("\n"); printf("Cada inteiro pequeno reserva %d bytes\n",sizeof(short int)); printf("Cada inteiro reserva %d bytes\n",sizeof(int)); printf("Cada inteiro longo reserva %d bytes\n",sizeof(long int)); printf("Cada inteiro longo longo reserva %d bytes\n",sizeof(long long int)); printf("Alem do maximo ainda ocupa %d bytes\n",sizeof(INT_MAX+1)); system("PAUSE"); return 0; }