本文介绍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语言的整型数据的溢出相关推荐

  1. C语言:短整型数据的溢出.2021-02-10

    #include <stdio.h> //预处理器命令void main() {short int a,b;//声明a和b为短整型a=32767;//短整型a赋值为32767//32767 ...

  2. 【c语言】整型数据的溢出

    intmax-p26.c 思路:a=21478483648; b=a+1; 输出:2147483647,-2147483648 #include<stdio.h> void main() ...

  3. 0026 整型数据的溢出规律

    名称: 0026 整型数据的溢出规律 作者: 丁进 时间: 2021.2.21 #include <stdio.h> int main() {for (int i = 2147483647 ...

  4. 【C语言】-- 整型数据的存储

    目录 1.数据类型的分类 2.基本类型 2.1 基本类型大小 2.2 整型家族~ 2.3 数据的存储形式 2.4 整形数据的存储方式 1.数据类型的分类 在C语言中有如下类型: 2.基本类型 2.1 ...

  5. c语言中整形数据分为几进制,c语言中整型数据中的8进制以及16进制数据 – 手机爱问...

    2018-01-24 ▉当a=3,b=2,c=1时,表达式f=a>b>c的值是[ ].▉在C语言中,表示逻辑"真"值用[ ].▉C语言提供的三种逻辑运算符是[1].[2 ...

  6. c语言中整型数组如何初始化,C语言数组空间的初始化详解

    数组空间的初始化就是为每一个标签地址赋值.按照标签逐一处理.如果我们需要为每一个内存赋值,假如有一个int a[100];我们就需要用下标为100个int类型的空间赋值.这样的工作量是非常大的,我们就 ...

  7. c语言整形符号位_C语言中整型数据的有效位数是多少?

    展开全部 1.从二进制的角度来看整数62616964757a686964616fe4b893e5b19e31333337386663的有效位数,要从整数的编码说起,有符号整数编码包括原码.反码和补码三 ...

  8. C语言——一维整型数组的 镜像对调

    目录 1.认识 2.实例 3.注意 1.认识: 镜像对调:将数组的第一个数与最后一个数,第二个数与倒数第二个数对调,以此类推以完成镜 像对调. 2.实例: (1)代码段: #include<st ...

  9. c语言整形符号位_C语言整型数据(整数)

    整型数据的分类 整型数据的一般分类如下: 基本型:类型说明符为int,在内存中占2个字节. 短整型:类型说明符为short int或short.所占字节和取值范围均与基本型相同. 长整型:类型说明符为 ...

最新文章

  1. windows扫描域内端口
  2. 传统外贸不好做,为什么不来做跨境电商?
  3. OkHttp使用介绍 和 使用进阶
  4. html5步骤条,自定义步骤条 , 纯原生html + css
  5. 片偏移字段的值怎么算_搞懂钢丝网片计算原理,怎么算都不怕出错!
  6. 傲游浏览器怎么更换皮肤 浏览器皮肤更换方法简述
  7. HCL打开显示当前系统用户怎么解决_Mac键盘突然停止响应怎么办?
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的校园多媒体大赛设计平台
  9. hystrix文档翻译之metrics
  10. pyecharts实现多节点、长路径的sankey桑基图
  11. 郑志勇:谁是中国最牛指数基金供应商(规模统计与产品点评)
  12. 5000字超干货,新中国成立70年人口流动迁移的特征与趋势可视化!
  13. 写作专用各种表情和符号,使你的文章更加美观有趣!❤️❤️❤️
  14. pandas抽样函数sample
  15. 防DDoS攻击,你知道自己和其他大型运营商的区别在哪里吗?
  16. 云流化方案为水利数字孪生带来哪些新变化?
  17. Vue template挂载中el和mouted的使用和区别
  18. 你玩过轻量系统软总线应用吗?
  19. spring data JPA常用注解
  20. 一款功能强大的设备调试、接口调试工具

热门文章

  1. spo实体关系抽取、属性抽取
  2. 兼容各个浏览器的页面收藏效果
  3. 2005第二届“IBM杯”高校校园创新设计大赛揭晓
  4. 阿里OSS文件流下载问题
  5. 好书推荐——影响力 (作者 Robert B. cIALDINI 译者 闾佳)
  6. 计算机函数中数与数之间的冒号,如何在数字之间插入冒号以使其在Excel中自动成为时间格式?...
  7. Java集合详解--什么是Set
  8. 内容引争议,阿里应届生年薪25W?
  9. 联想智能引擎APP第二期上线
  10. 转载: linux awk 一看就懂 - 薰衣草的旋律 - 博客园