clwn.net
当前位置:首页 >> C语言 int最大值是多少?? >>

C语言 int最大值是多少??

int最大值,根据编译器类型不同而变化.1 对于16位编译器,int占16位(2字节).int的最大值为32767.2 对于32位和64位编译器,int占32位(4字节).int的最大值为21474836473 可以通过打印sizeof(int)查看平台对应的int占用字节数.乘8后即为位数.最高位为符号位,如位数为n,则最大值为2^(n-1) 即2的n-1次幂.

这与编译器关系密切,在VC++ 6.0中,int类型占用4个字节,所以最大值是0X7FFFFFFF = (2147483647)10.

C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296,所以你的程序可能可以运行 再看看别人怎么说的.

#include <stdio.h>#include <limits.h> int main() { printf("%d\n",INT_MAX); return 0; }

int表示整型变量,是一种数据结构,用于定义一个整型变量,在不同编译环境有不同的大小,在C 中占4个字节,同时也要根据系统是多少位的系统来判定,通常在32位下是4个字节,64位下就是8个字节,0~4294967295.如int a;表示a是一个整数型的变量.

用sizeof查位数.根据位数用二进制算出最大值就OK了

int值域 4字节 - 2147 438 648~+ 2 147 438 647 long int 4字节 - 2 147 438 648 ~ + 2 147 438 647 long long int 8 - 9 223 372 036 854 775 808 ~ + 9 223 372 036 854 775 807

最大是0---65535,8位2进制数,有符号也是8位2进制,只不过第一位用来表示符号了,所以有符号的范围是-32768---32767.

(unsigned)(~0) >> 1这样就可以得到最大值了.原理就是得到一个最高位为0,其他位为1 的整型值.

int是4个字节,那么int就2^32,由于有正负,那么就是2^32/2-1

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com