当前位置:主页 > c/c++教程 > unsigned int

求32位机器上unsigned int的最大值及int的最大值的解决方法

发布:2022-04-01 11:49:05 59


我们帮大家精选了32位机器相关的编程文章,网友步浩穰根据主题投稿了本篇教程内容,涉及到unsigned、int、unsigned int相关内容,已被582网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

unsigned int

复制代码 代码如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
 unsigned int max_int = 0-1;
 printf("The max value of unsigned int on 32 machine: %u/n", max_int);
}
复制代码 代码如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
 unsigned int max_int = 0-1;
 printf("The max value of unsigned int on 32 machine: %u/n", max_int);
}
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
复制代码 代码如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
 int max_int = (1<<31)-1;
 printf("The max value of int on 32 machine: %d/n", max_int);
}
将其int写成有符号型的程序如下:
复制代码 代码如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
 int max_int = (1<<31)-1;
 printf("The max value of int on 32 machine: %d/n", max_int);
}
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的最高位是符号位。

参考资料

相关文章

网友讨论