求32位机器上unsigned int的最大值及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的最高位是符号位。

(0)

相关推荐

  • 深入解析unsigned int 和 int

    就如同int a:一样,int 也能被其它的修饰符修饰.除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char.int.Int是默认有符号的.2.unsigned-----无符号,修饰int .char3.long------长型,修饰int .double4.short------短型,修饰int 我们主要来看一下signed和unsigned与int之间的联系与区别.什么叫做有符号,什么叫做无符号这个问题其实很简单,比如

  • 求32位机器上unsigned int的最大值及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

  • win10 64位系统中安装多个jdk版本的切换问题及解决方法小结

    由于电脑安装了myeclipse2017,同时又安装了idea2017,idea是最新版,必须使用jdk1.8以上,而myeclipse中的项目又需要低版本的jdk,所以在电脑上之前安装配置好了jdk1.8,后来又要安装jdk1.7,可以来回切换,但是过程中遇到了很多问题,总结一下. 安装jdk后,我们配置环境变量,先特别注意一个问题: 更改环境变量的问题,我搜了很多方案,一个个的试,最终解决,主要方案有以下几个: 1.为了从jdk1.8切换到1.7,首先做的是将环境变量中的JAVA_HOME值

  • 在CentOS 7 上为docker配置端口转发以兼容firewall的解决方法

    在CentOS 7上当我们以类似下列命令将主机端口与容器端口映射时可能遇到无法访问容器服务的问题 docker run --name web_a -p 192.168.1.250:803:80 -d web_a:beta1.0.0 . 由于docker在执行此命令时,是向iptables注入了一条规则将主机803映射到容器80端口,但是CentOS 7中以firewalld服务替代了iptables.因此,上述命令的端口映射不会生效. 解决方法:首先观察一下主机上的网卡信息,确认增加了一个doc

  • 当网站不允许上传asp cer cdx htr文件时的一个解决方法!

    前些天向lcx大哥求教关于web上传的问题,说起利用stm来上传,还能执行程序,不解,就给我了一段代码:  见lcx大哥给的一段代码  说保存为stm或者shtml看看,运行如下: HTTP_ACCEPT:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, applic

  • iis6和iis7限制上传文件(请求头)大小以及不支持FSO解决方法

    解决办法: 一.IIS6 (2003操作系统) 2003 自带的IIS6.0默认限制上传大小限制为200K,下载限制为4M,因此出现上面的问题,解决如下: 1.先打开Internet 信息服务(IIS)管理器 (本地计算机 )---- 属性 ----允许直接编辑配置数据库(N) 一定要勾先"允许直接编辑配置数据库(N)" 2.然后在服务里关闭iis admin service服务,可用命令:iisreset/stop 3.找到windows\system32\inesrv\下的base

  • mvc上传到美橙云虚拟机系列问题的解决方法

    我用vs2015写了个小网站,.Net Framework4.5. mvc 5,发布到本机iis上正常,在美橙申请了一个云虚拟机,发布过程中遇到的一些问题记录如下: 1.服务器支持的版本比较低 上传后打开网站显示: HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用. 询问美橙的技术支持,说只能支持到.net framework4.0.mvc4. 没办法只好试着降低版本.在vs2015中把解决方案中所有的项目目标框架都改为.net framework4.

  • c++ 判断是64位还是32位系统的实例

    1.IsWow64Process 确定指定进程是否运行在64位操作系统的32环境(Wow64)下. 语法 BOOL WINAPI IsWow64Process( __in HANDLE hProcess, __out PBOOL Wow64Process ); 参数 hProcess 进程句柄.该句柄必须具有PROCESS_QUERY_INFORMATION 或者 PROCESS_QUERY_LIMITED_INFORMATION 访问权限 Wow64Process 指向一个bool值, 如果该

  • PHP和MySql中32位和64位的整形范围是多少

    一个字节有8位,所以32位int型占用32位/8位=4个字节,64位int型占用64位/8位=8个字节. 32位,64位无符号整型最大值: 2^64-1 = 18446744073709551615 2^32-1 = 4294967295 32位,64位有符号整型最大值: (2^32)/2-1 = 2147483647 (2^64)/2-1 = 9223372036854775807 减1是因为整型包括0. 64位Ubuntu 14.04,PHP_INT_MAX的值为92233720368547

  • VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法

    通常用VB 写的程序在32位系统上可以正常的运行,但到了64位系统中虽然可以运行但是无法修改OEM信息.经过查找原因可以发现,当我们在访问文件夹"SYSTEM32"的时候系统会自动转向到文件夹"SYSWOW64"下,当我们在访问某些注册表键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面. 先来谈谈文件系统的转向,查找了一些资料,并没有VB相关的资料,但是可以查到2个相关函数:Wow64DisableWow64FsRedirect

  • 解决pycharm临时打包32位程序的问题

    问题: 64位系统安装了64位的python,打包生成的程序是64位的,在32位系统上不兼容无法运行. 想安装多个python,只临时调用32位python解释器来打包32位程序,不想永久改掉默认的64位python解释器. windows版本不兼容的报错提示: 解决方法: 1.到Python官网(https://www.python.org/downloads/windows/)下载安装任意版本的32位python. 2.安装32位python,记住安装路径.像我,安装完之后同时拥有了32位和

随机推荐