C语言的整型数据的溢出
本文介绍C语言中的整型数据的溢出情况。
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main()
{int a = 2147483647;int b = 0;char string[35] = "";b = a + 1;/* 打印出系统中int类型所占的字节数 */ printf("sizeof(a) is %d\n", sizeof(a));printf("sizeof(int) is %d\n", sizeof(int));/* string中存储整型变量b的二进制表达形式 */ itoa(b, string, 2);printf("integer b = %d\nbinary b = %s\n", b, string);printf("length of string b is %d.\n", strlen(string));system("pause");return 0;
}
上述代码的运行结果如下:
sizeof(a) is 4
sizeof(int) is 4
integer b = -2147483648
binary b = 10000000000000000000000000000000
length of string b is 32.
从上述代码和运行结果,分析总结如下:
1)当前编译器为int类型数据分配了4个字节(对应32比特位),所以有符号int类型变量a和b的取值范围是-2147483648到2147483647,所以当a取值2147483647,再加1时,就会出现“溢出”的情况,其结果b发生了反转,变成了-2147483648。a和b的二进制表示如下:
a: 0111 1111 1111 1111 1111 1111 1111 1111 (共32位)
b: 1000 0000 0000 0000 0000 0000 0000 0000 (共32位)
上述是a、b的二进制补码形式(计算机中存储的都是二进制的补码形式)。
2)从b的十进制数值以及二进制补码形式可以知道,最高位1既代表了符号位,也代表了数值位。
C语言的整型数据的溢出相关推荐
- C语言:短整型数据的溢出.2021-02-10
#include <stdio.h> //预处理器命令void main() {short int a,b;//声明a和b为短整型a=32767;//短整型a赋值为32767//32767 ...
- 【c语言】整型数据的溢出
intmax-p26.c 思路:a=21478483648; b=a+1; 输出:2147483647,-2147483648 #include<stdio.h> void main() ...
- 0026 整型数据的溢出规律
名称: 0026 整型数据的溢出规律 作者: 丁进 时间: 2021.2.21 #include <stdio.h> int main() {for (int i = 2147483647 ...
- 【C语言】-- 整型数据的存储
目录 1.数据类型的分类 2.基本类型 2.1 基本类型大小 2.2 整型家族~ 2.3 数据的存储形式 2.4 整形数据的存储方式 1.数据类型的分类 在C语言中有如下类型: 2.基本类型 2.1 ...
- c语言中整形数据分为几进制,c语言中整型数据中的8进制以及16进制数据 – 手机爱问...
2018-01-24 ▉当a=3,b=2,c=1时,表达式f=a>b>c的值是[ ].▉在C语言中,表示逻辑"真"值用[ ].▉C语言提供的三种逻辑运算符是[1].[2 ...
- c语言中整型数组如何初始化,C语言数组空间的初始化详解
数组空间的初始化就是为每一个标签地址赋值.按照标签逐一处理.如果我们需要为每一个内存赋值,假如有一个int a[100];我们就需要用下标为100个int类型的空间赋值.这样的工作量是非常大的,我们就 ...
- c语言整形符号位_C语言中整型数据的有效位数是多少?
展开全部 1.从二进制的角度来看整数62616964757a686964616fe4b893e5b19e31333337386663的有效位数,要从整数的编码说起,有符号整数编码包括原码.反码和补码三 ...
- C语言——一维整型数组的 镜像对调
目录 1.认识 2.实例 3.注意 1.认识: 镜像对调:将数组的第一个数与最后一个数,第二个数与倒数第二个数对调,以此类推以完成镜 像对调. 2.实例: (1)代码段: #include<st ...
- c语言整形符号位_C语言整型数据(整数)
整型数据的分类 整型数据的一般分类如下: 基本型:类型说明符为int,在内存中占2个字节. 短整型:类型说明符为short int或short.所占字节和取值范围均与基本型相同. 长整型:类型说明符为 ...
最新文章
- windows扫描域内端口
- 传统外贸不好做,为什么不来做跨境电商?
- OkHttp使用介绍 和 使用进阶
- html5步骤条,自定义步骤条 , 纯原生html + css
- 片偏移字段的值怎么算_搞懂钢丝网片计算原理,怎么算都不怕出错!
- 傲游浏览器怎么更换皮肤 浏览器皮肤更换方法简述
- HCL打开显示当前系统用户怎么解决_Mac键盘突然停止响应怎么办?
- 基于JAVA+SpringMVC+Mybatis+MYSQL的校园多媒体大赛设计平台
- hystrix文档翻译之metrics
- pyecharts实现多节点、长路径的sankey桑基图
- 郑志勇:谁是中国最牛指数基金供应商(规模统计与产品点评)
- 5000字超干货,新中国成立70年人口流动迁移的特征与趋势可视化!
- 写作专用各种表情和符号,使你的文章更加美观有趣!❤️❤️❤️
- pandas抽样函数sample
- 防DDoS攻击,你知道自己和其他大型运营商的区别在哪里吗?
- 云流化方案为水利数字孪生带来哪些新变化?
- Vue template挂载中el和mouted的使用和区别
- 你玩过轻量系统软总线应用吗?
- spring data JPA常用注解
- 一款功能强大的设备调试、接口调试工具
热门文章
- spo实体关系抽取、属性抽取
- 兼容各个浏览器的页面收藏效果
- 2005第二届“IBM杯”高校校园创新设计大赛揭晓
- 阿里OSS文件流下载问题
- 好书推荐——影响力 (作者 Robert B. cIALDINI 译者 闾佳)
- 计算机函数中数与数之间的冒号,如何在数字之间插入冒号以使其在Excel中自动成为时间格式?...
- Java集合详解--什么是Set
- 内容引争议,阿里应届生年薪25W?
- 联想智能引擎APP第二期上线
- 转载: linux awk 一看就懂 - 薰衣草的旋律 - 博客园