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

复制代码 代码如下:

#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的最高位是符号位。

时间: 2024-11-08 23:29:55

求32位机器上unsigned int的最大值及int的最大值的解决方法_C 语言的相关文章

求数组中最长递增子序列的解决方法_C 语言

存储扩展算法n2编程c 写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中的最长递增子序列的长度.例如:在序列1,-1,2,-3,4,-5,6,-7中,其最长的递增子序列为1,2,4,6 或者 -1,2,4,6.(编程之美P198-202)分析与解法根据题目的要求,求一维数组中的最长递增子序列,也就是找一个标号的序列b[0],b[1],-,b[m](0 <= b[0] < b[1] < - < b[m] < N),使得array[b[0]]<array[b[1

c语言求1+2+...+n的解决方法_C 语言

题目:求1+2+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A?B:C). 分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制.但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度.通常求1+2+-+n 除了用公式n(n+1)/2之外,无外乎循环和递归两种思路.由于已经明确限制for和while的使用,循环已经不能再用了.同样,递归函数也需要用if语句或者条件判断语句来判断是继续

位 机器 传输-32位系统上最大支持的传输是多大?

问题描述 32位系统上最大支持的传输是多大? 32位机器上最大支持的传输是多大?64位机器上上最大支持的传输是多大?一次传送的文件是多大 解决方案 这个没有关系,但是你的文件系统会决定单个文件的最大值,windows的FAT32/NTFS或EXT3.4等都不一样. 解决方案二: 32位和64位在支持文件传输方面毫无区别.如果你使用的是NTFS这样的文件系统,单个文件可以达到2TB,或者说是2048GB. 解决方案三: "电脑系统硬盘的最大限制",没有这种限制,GPT分区可以支持更大的磁

c++-在VS.net2003中用C++写的项目,从32位迁移到64位机器上后遇到引用第三方库的问题

问题描述 在VS.net2003中用C++写的项目,从32位迁移到64位机器上后遇到引用第三方库的问题 在VS.net2003中用C++写的项目,从32位迁移到64位机器上后,原来引用的SDK/DXSDK第三方库中头文件包含VS.net2003中的Winsock2.h文件的路径错误,应该去"C:/ProgramFiles (x86)/""下去寻呼,但是他还去""C:/ProgramFiles/""路径去寻找,这个是什么造成的?怎么解决啊

32 64位运行效率-64位,32位windows上的相同程序,运行效率到底区别有多大?

问题描述 64位,32位windows上的相同程序,运行效率到底区别有多大? 64位,32位windows上的相同程序,运行效率到底区别有多大?分别在对应的版本下编译并运行. 解决方案 看什么样的程序.如果是科学计算程序,比如用到很多64位的四则运算,那么显然32位机器要想做同样的工作,需要3.4倍的指令才能完成,那么64位的优势是明显的. 可以举一个例子.你可以运行Windows XP和Windows XP x64版本下的计算器(calc.exe),执行高级运算中的阶乘.计算一个比较大的数,比

求助帖,VS生成的exe在32位机器不能运行!!折腾我半个月了

问题描述 如上图,是一个开源软件,webkitbrowser的,在64位机器上面运行没有一点问题,32位机器却不行.提示如上.什么原因呢 解决方案 解决方案二:这个是提示的错误,我不知道怎么改了解决方案三:使用了64位的组件解决方案四:32位和64位DLL不能混用看来你需要做2个版本了解决方案五:你好,请问从哪儿看出来使用64位的组件了?我能不能做到兼容?解决方案六:另外,我这儿有能在32位运行的版本,只是有一点小问题,我可不可以把64位的Debug文件里面的某一个组件替换掉?还请不吝赐教解决方

数据库-64位sqlserver 2008 r2企业版可以安装在32位win7上吗

问题描述 64位sqlserver 2008 r2企业版可以安装在32位win7上吗 我的系统是win7的32位版本,可不可以装64位sqlserver 2008 r2企业版的数据库,如果不可以,可否提供32位sqlserver 2008 r2企业版的下载地址,感激不尽 解决方案 不可以.32bit操作系统只能安装32bit程序,反之,64bit系统可以安装32bit程序. 下载原版微软软件:http://msdn.itellyou.cn 解决方案二: 另外,SQL Server 2008 R2

在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed)

问题背景:         我在64位机器上了64位的oracle客户端.         然后装上PL/SQL Developer,但是连接oracle老报这个错:         Initialization error              SQL*Net not properly installed         OracleHomeKey:                OracleHomeDir: 解决办法:        点击打开链接 那个文件的下载也可以去这边:点击打开链接

如何在linux 32位机器编译64位程序

编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序. 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 [plain] view plain copy   In file included from /usr/include/features.h:378,                    from /usr/include/assert.h: