fork download
  1. #include <stdio.h>
  2.  
  3. void verify_type(int a){printf("int [%i/%#x]\n", a, a);}
  4. void verify_type(unsigned int a){printf("uint [%u/%#x]\n", a, a);}
  5. void verify_type(long a){printf("long [%li/%#lx]\n", a, a);}
  6. void verify_type(unsigned long a){printf("ulong [%lu/%#lx]\n", a, a);}
  7. void verify_type(long long a){printf("long long [%lli/%#llx]\n", a, a);}
  8. void verify_type(unsigned long long a){printf("unsigned long long [%llu/%#llx]\n", a, a);}
  9.  
  10. int main()
  11. {
  12. printf("sizeof(int) %i\n", sizeof(int));
  13. printf("sizeof(long) %i\n", sizeof(long));
  14. printf("sizeof(long long) %i\n\n", sizeof(long long));
  15.  
  16. verify_type(-2147483647);
  17. verify_type((int) -2147483648);
  18. verify_type(-2147483648);
  19. verify_type(-((unsigned long) 2147483648));
  20.  
  21. getchar();
  22. return 0;
  23. }
Success #stdin #stdout 0s 3100KB
stdin
Standard input is empty
stdout
sizeof(int) 4
sizeof(long) 4
sizeof(long long) 8

int [-2147483647/0x80000001]
int [-2147483648/0x80000000]
long long [-2147483648/0xffffffff80000000]
ulong [2147483648/0x80000000]