INT_MAX (2147483647) 和INT_MIN (-2147483648)溢出
c语言中32位int型数据在运算的时候可能会出现溢出的情况,如:
-2147483648-1会得到什么结果?
-2147483648乘(-1)会得到什么结果?
2147483647+1会得到什么结果?
在编译器中运行一下得到的结果分别是:
-2147483648-1=2147483647;
-2147483648乘(-1)=2147483647
2147483647+1=-2147483648
下面解释出现这几个情况的原因:
①-2147483648的二进制表示为1000 0000 0000 0000 0000 0000 0000 0000,a-1=1000 0000 0000 0000 0000 0000 0000 0000+FFFFFFFF
很明显,这里会溢出,结果将变为7FFFFFFFF,用int表示就是2147483647。
②-2147483648*(-1),对-2147483648按位取反,得到7FFFFFFF就是2147483647。
③2147483647的二进制表示为7FFFFFFF,加1之后就变为了80000000,结果就是-2147483648。
INT_MAX (2147483647) 和INT_MIN (-2147483648)溢出的更多相关文章
- INT_MIN与溢出
隔了好久没更新了,由于我在学习PL和编译器/解释器的知识. 挺好奇这方面的,由于没有学过相关的课程.所以学起来有点吃力,进展缓慢.所以导致没啥可写的. 今天看到这么一段话: 32位的int型的取值是2 ...
- 8. String to Integer (整数的溢出)
Implement atoi to convert a string to an integer. If no valid conversion could be performed, a zero ...
- 8. String to Integer (atoi)
题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...
- String to Integer (atoi)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- 【leetcode】String to Integer (atoi)
String to Integer (atoi) Implement atoi to convert a string to an integer. Hint: Carefully consider ...
- 【LeetCode】8. String to Integer (atoi) 字符串转整数
题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...
- 【String to Integer (atoi) 】cpp
题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...
- leetcode:String to Integer (atoi)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- String to Integer (atoi) - 复杂的测试
这个题..是要把字符串转为整数.注意是整数,我看到整数的时候松了一口气,没有小数点的判断应该更好做.而且基本的转化函数我想每个程序员都无法忘记: res=res*+(str[i]-'); 其实就是这么 ...
随机推荐
- BZOJ 3450: Tyvj1952 Easy [DP 概率]
传送门 题意:$ox?$组成的序列,$?$等概率为$o\ or\ x$,得分为连续的$o$的长度的平方和,求期望得分 一开始没想出来,原因在于不知道如何记录长度 其实我们同时求得分和长度的期望就好了 ...
- js短路表达式
今天碰见个题目,感觉短路表达式很好用. 题目: 定义一个计算圆面积的函数area_of_circle(),它有两个参数: r: 表示圆的半径: pi: 表示π的值,如果不传,则默认3.14 funct ...
- 安装RabbitMQ(一)
RabbitMQ简介 RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能.健壮以及可伸缩性出名的 ...
- 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
这里说下Linux 系统怎么通过openssl命令生成 证书. 首先执行如下命令生成一个key openssl genrsa -des3 -out ssl.key 1024 然后他会要求你输入这个ke ...
- mac下更新自带的PHP版本到5.6
OS X 10.11自带的PHP版本是PHP 5.5.x,如果我们想更新PHP的版本到5.6或者是7.0该怎么办呢? 下载和安装PHP 5.6 打开终端并且运行如下命令: curl -s http:/ ...
- Servlet3.0上传图片示例
一.前端JSP页面 <%@page pageEncoding="UTF-8"%><!DOCTYPE html><html><head> ...
- C/C++语言的语法基础
数据类型指明变量或表达式的状态和行为,数据类型决定了数的取值范围和允许执行的运算符集.c++语言数据类型可以分为两大类:基本类型和引用类型.基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传 ...
- struts 中的创建Action的三种方法
1.对于直接创建类,不实现接口和继承任何的类 例如创建一个helloAction package cn.lonecloud.control; import com.opensymphony.xwork ...
- python+selenium+autoit实现文件上传
问题 在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下 解决方案 第一种:type=file的上传文件,类似如下的 使用类似这样的代码就可以完成: driver.fin ...
- HDP2.0测试
1.测试Hbase (1)hive导入hbase