C语言 64位机器下 各种类型的取值范围(位运算)

#include <stdio.h>
#include <stdlib.h>
int main()
{
	printf("signed char min = %d\n",~0<<(8-1));
	printf("signed char max = %d\n",(1<<8-1)-1);

	printf("signed short min = %d\n",~0<<(16-1));
	printf("signed short max = %d\n",(1<<16-1)-1);

	printf("signed int min = %d\n",~0<<(32-1));
	printf("signed int max = %d\n",(1<<32-1)-1);

	printf("signed long min = %lld\n",((~(long long)0<<(64-1))));
	printf("signed long max = %lld\n",(((long long)1<<(64-1))-1));
//  如果用宏的话是
//	printf("signed long max = %lld\n",LLONG_MAX);
//	在头文件 limits.h 里
	printf("unsigned char max = %u\n",(1<<8)-1);
	printf("unsigned short max = %u\n",(1<<16)-1);
	printf("unsigned int max = %llu\n",(1<<32)-1);
	printf("unsigned long max = %llu",(((long long)1<<64)-1));
	system("pause");
}

在这里插入图片描述

发布了35 篇原创文章 · 获赞 2 · 访问量 911

猜你喜欢

转载自blog.csdn.net/qq_45735810/article/details/104024155