/**
*用于测试本系统中long类型的最大和最小值
**/
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

//求最小值
int long_min()
{
long j = 0, k = 0;
clock_t start, end;

start = clock();
while(j >= k) {
	j = k;
	k--;
}
end = clock();
printf(\"long_min = %d  用时:%.1f 毫秒\\n\", j, 1000.0 * (end - start) / CLOCKS_PER_SEC);
return 0;

}

//求最大值
int long_max()
{
long j = 0, k =0;
clock_t start, end;

start = clock();
while(j <= k) {
	j = k;
	k++;
}
end = clock();
printf(\"long_max = %d  用时:%.1f 毫秒\\n\", j, 1000.0 * (end - start) / CLOCKS_PER_SEC);
return 0;

}

int main(void)
{
printf(“本系统long类型的最大值long_max和最小值long_min分别是多少?\\n”);
long_max();
long_min();
printf(“占用字节:\\n int = %d, long = %d, short = %d”,sizeof(int),sizeof(long),sizeof(short));

 return 0;

}
\"在这里插入图片描述\"
其实求最大值数据类型最大最小值可以这样子算,首先要知道起占用多少个字节,如本人电脑中int和long都是4个
字节,那么按一个字节8位算,就有32位:当无符号0以二进制储存在内存中的时候,每一位都为0,即(unsigned int)0的二进制为:
00000000000000000000000000000000
按位取反(~)后,变成:
11111111111111111111111111111111
次时的十进制为:4294967295,除以2(因为int类型中有一半表示负数且比正数多一个)之后为:2147483647,
所以,int为4个字节的系统,int存储数字的范围为 -2147483648到2147483647,超过了就会溢出,发生错误。

收藏 打印