#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
void main(){
char tipo_char=1, tipo_char_max=1; // -128 a 128
unsigned char tipo_unsigned_char=1, tipo_unsigned_char_max=1; // 0 a 256
short int tipo_short_int=1, tipo_short_int_max=1; // -32768 a 32767
unsigned short int tipo_unsigned_short_int=1, tipo_unsigned_short_int_max=1; // 0 a 65 535
int tipo_int=1, tipo_int_max=1; //-2 147 483 648 a 2 147 483 647
long tipo_long=1, tipo_long_max=1; //-2 147 483 648 a 2 147 483 647
long int tipo_long_int=1, tipo_long_int_max=1; //-2 147 483 648 a 2 147 483 647
unsigned int tipo_unsigned_int=1, tipo_unsigned_int_max=1; // 0 a 4 294 967 295
unsigned long tipo_unsigned_long=1, tipo_unsigned_long_max=1; // 0 a 4 294 967 295
unsigned long int tipo_unsigned_long_int=1, tipo_unsigned_long_int_max=1; // 0 a 4 294 967 295
long long tipo_long_long=1, tipo_long_long_max=1; // -9223372036854775808 a 9223372036854775807
unsigned long long tipo_unsigned_long_long=1, tipo_unsigned_long_long_max=1; // 0 a 18 446 744 073 709 551 616
int bits=1;
while(tipo_char>0){
tipo_char_max=tipo_char+(tipo_char-1);
tipo_char=tipo_char*2;
//printf("char admite como maximo: %i \n\n",tipo_char);
bits++;
}
printf("char ................. %ibits de %i a %i \n\n",bits,tipo_char,tipo_char_max);
bits=0;
while(tipo_unsigned_char>0){
tipo_unsigned_char_max=tipo_unsigned_char+(tipo_unsigned_char-1);
tipo_unsigned_char=tipo_unsigned_char*2;
bits++;
}
printf("unsigned char ........ %ibits .. de %i a %i \n\n",bits,tipo_unsigned_char,tipo_unsigned_char_max);
bits=1;
while(tipo_short_int>0){
tipo_short_int_max=tipo_short_int+(tipo_short_int-1);
tipo_short_int=tipo_short_int*2;
bits++;
}
printf("short int ........... %ibits .. de %i a %i \n\n",bits,tipo_short_int,tipo_short_int_max);
bits=0;
while(tipo_unsigned_short_int>0){
tipo_unsigned_short_int_max=tipo_unsigned_short_int+(tipo_unsigned_short_int-1);
tipo_unsigned_short_int=tipo_unsigned_short_int*2;
//printf("admite como maximo: %i \n\n",tipo_unsigned_short_int);
bits++;
}
printf("unsigned short int .. %ibits .. de %i a %i \n\n",bits,tipo_unsigned_short_int,tipo_unsigned_short_int_max);
bits=1;
while(tipo_int>0){
tipo_int_max=tipo_int+(tipo_int-1);
tipo_int=tipo_int*2;
//printf("admite como maximo: %i \n\n",tipo_long_int);
bits++;
}
printf("int ................. %ibits .. de %i a %i \n\n",bits,tipo_int,tipo_int_max);
bits=1;
while(tipo_long>0){
tipo_long_max=tipo_long+(tipo_long-1);
tipo_long=tipo_long*2;
//printf("admite como maximo: %ld \n\n",tipo_long_int);
bits++;
}
printf("long ................ %ibits .. de %ld a %ld \n\n",bits,tipo_long,tipo_long_max);
bits=1;
while(tipo_long_int>0){
tipo_long_int_max=tipo_long_int+(tipo_long_int-1);
tipo_long_int=tipo_long_int*2;
//printf("admite como maximo: %i \n\n",tipo_long_int);
bits++;
}
printf("long int ............ %ibits .. de %i a %i \n\n",bits,tipo_long_int,tipo_long_int_max);
bits=0;
while(tipo_unsigned_long_int>0){
tipo_unsigned_long_int_max=tipo_unsigned_long_int+(tipo_unsigned_long_int-1);
tipo_unsigned_long_int=tipo_unsigned_long_int*2;
//printf("admite como maximo: %i \n\n",tipo_unsigned_long_int);
bits++;
}
printf("unsigned long int ... %ibits .. de %u a %u \n\n",bits,tipo_unsigned_long_int,tipo_unsigned_long_int_max);
bits=0;
while(tipo_unsigned_int>0){
tipo_unsigned_int_max=tipo_unsigned_int+(tipo_unsigned_int-1);
tipo_unsigned_int=tipo_unsigned_int*2;
//printf("admite como maximo: %i \n\n",tipo_unsigned_int);
bits++;
}
printf("unsigned int ........ %ibits .. de %u a %u \n\n",bits,tipo_unsigned_int,tipo_unsigned_int_max);
bits=0;
while(tipo_unsigned_long>0){
tipo_unsigned_long_max=tipo_unsigned_long+(tipo_unsigned_long-1);
tipo_unsigned_long=tipo_unsigned_long*2;
//printf("admite como maximo: %i \n\n",tipo_unsigned_long);
bits++;
}
printf("unsigned long ....... %ibits .. de %u a %u \n\n",bits,tipo_unsigned_long,tipo_unsigned_long_max);
bits=1;
while(tipo_long_long>0){
tipo_long_long_max=tipo_long_long+(tipo_long_long-1);
tipo_long_long=tipo_long_long*2;
//printf("admite como maximo: %ll \n",tipo_long_long);
bits++;
}
printf("long long ........... %ibits .. de %lld a %lld \n\n",bits,tipo_long_long,tipo_long_long_max);
bits=0;
while(tipo_unsigned_long_long>0){
tipo_unsigned_long_long_max=tipo_unsigned_long_long+(tipo_unsigned_long_long-1);
tipo_unsigned_long_long=tipo_unsigned_long_long*2;
//printf("admite como maximo: %llu \n",tipo_unsigned_long_long);
bits++;
}
printf("unsigned long long .. %ibits .. de %llu a %llu \n\n",bits,tipo_unsigned_long_long,tipo_unsigned_long_long_max);
system("pause");
/*
%d--> for int
%ld--> for long int
%lld--> for long long int
%llu--> for unsigned long long int
*/
}