long long int 溢出问题,求指导
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
int main() {
int bytes_of_int;
int bits_of_int;
int biggest_of_int;
bytes_of_int = sizeof(int);
bits_of_int = bytes_of_int * 8;
biggest_of_int = pow(2, bits_of_int - 1) - 1;
printf("There are %d bytes in a int,equals %d bits,and it can signify %d at most.\n", bytes_of_int, bits_of_int, biggest_of_int);
printf("When overflow ,%d\n", biggest_of_int + 1);
short int bytes_of_short_int;
short int bits_of_short_int;
short int biggest_of_short_int;
bytes_of_short_int = sizeof(short int);
bits_of_short_int = bytes_of_short_int * 8;
biggest_of_short_int = pow(2, bits_of_short_int - 1) - 1;
printf("There are %hd bytes in a short int,equals %hd bits,and it can signify %hd at most.\n", bytes_of_short_int, bits_of_short_int, biggest_of_short_int);
printf("When overflow ,%hd\n", biggest_of_short_int + 1);
long int bytes_of_long_int;
long int bits_of_long_int;
long int biggest_of_long_int;
bytes_of_long_int = sizeof(long int);
bits_of_long_int = bytes_of_long_int * 8;
biggest_of_long_int = pow(2, bits_of_long_int - 1) - 1;
printf("There are %ld bytes in a long int,equals %ld bits,and it can signify %ld at most.\n", bytes_of_long_int, bits_of_long_int, biggest_of_long_int);
printf("When overflow ,%ld\n", biggest_of_long_int + 1);
long long int bytes_of_long_long_int;
long long int bits_of_long_long_int;
long long int biggest_of_long_long_int;
bytes_of_long_long_int = sizeof(long long int);
bits_of_long_long_int = bytes_of_long_long_int * 8;
biggest_of_long_long_int = pow(2, bits_of_long_long_int - 1) - 1;
printf("There are %lld bytes in a long long int,equals %lld bits,and it can signify %lld at most.\n", bytes_of_long_long_int, bits_of_long_long_int, biggest_of_long_long_int);
printf("When overflow ,%lld\n", biggest_of_long_long_int + 1);
long long int biggest_of_long_long_int_test = 9223372036854775807;
printf("%lld\n", biggest_of_long_long_int_test);
printf("%lld\n", biggest_of_long_long_int_test + 1);
getchar();
return 0;
}