unsigned int的最大值及int的最大…

来源:互联网 发布:手机淘宝5.9.9官方版 编辑:程序博客网 时间:2024/06/05 18:32

 

[c-sharp] viewplaincopy
  1. #include <stdio.h>  
  2. int main(int argc, char *argv[])  
  3.  
  4.     unsigned int max_int 0-1;  
  5.     printf("The max value of unsigned int on 32 machine: %u/n"max_int);  
  6.  

gcc编译后:

int_sizeof1.c: 在函数‘main’中:
int_sizeof1.c:5: 警告:整数溢出

运行后:

The max value of int on 32 machine: 4294967295

 

 

VC6.0和java编译后,无错误。

运行后:

The max value of int on 32 machine: 4294967295

 

 

 

 

将其int写成有符号型的程序如下:

 

[c-sharp] viewplaincopy
  1. #include <stdio.h>  
  2. int main(int argc, char *argv[])  
  3.  
  4.     int max_int (1<<31)-1;  
  5.     printf("The max value of int on 32 machine: %d/n"max_int);  
  6.  

gcc编译后:

int_sizeof1.c: 在函数‘main’中:
int_sizeof1.c:5: 警告:整数溢出

 

运行后:

The max value of int on 32 machine: 2147483647

 

 

VC6.0和java编译后,无错误。

运行后:

The max value of int on 32 machine: 2147483647

 

因为int的最高位是符号位。

 

0 0