当前位置: 首页 > article >正文

【C语言】int类型整数取值范围的缘由

有符号整形int 32位:(可存储的空间)
最小值原码为 0000 0000 0000 0000 0000 0000 0000 0001 = 1
最大值原码为 0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647
其中,最高位为符号位,正数表示 0;负数表示 1;
-1的取值范围为:
最大值:
原码:1000 0000 0000 0000 0000 0000 0000 0001
反码:1111 1111 1111 1111 1111 1111 1111 1110
补码(+1):1111 1111 1111 1111 1111 1111 1111 1111
最小值:
原码:1111 1111 1111 1111 1111 1111 1111 1111
反码:1000 0000 0000 0000 0000 0000 0000 0000
补码(+1):1|1000 0000 0000 0000 0000 0000 0000 0001(最高位溢出,所以不取)
最小的负数取值为:-2147483647
在二进制中,
+0的原码:0000 0000 0000 0000 0000 0000 0000 0000
-0的原码:1000 0000 0000 0000 0000 0000 0000 0000
而0没有正负之分,因此,-0被存储在某位的空间中:-2147483648
因此,带符号位的int类型存储空间为 [-2147483648,2147483647]

无符号的情况下,32位的整型 unsigned int 取值范围为:
请添加图片描述
如图所示,无符号位的int类型存储空间为 [0,4294967295]

这便是数据类型的取值范围的由来。

以上。

我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!


http://www.kler.cn/a/369836.html

相关文章:

  • 从规则到神经网络:机器翻译技术的演进与未来展望
  • 豆包 MarsCode + 开源 = ?AI 助力开源社区新人成长
  • Hook 函数
  • 第 25 场 蓝桥月赛
  • 电力场效应晶体管(电力 MOSFET),全控型器件
  • 【C++探索之路】STL---string
  • 【LLM论文日更 | 一种引入上下文的文档嵌入方法 】
  • Jenkins+maven+git(gogs)自动化构建打包+部署(项目实战)
  • 深度学习:YOLO v2 网络架构解析
  • 2025年NPDP产品经理认证考试时间和报考条件
  • 2974. 最小数字游戏
  • 卡码网KamaCoder 97. 小明逛公园
  • html之文字,图片,链接,音视频
  • C语言 | Leetcode C语言题解之第517题超级洗衣机
  • AIGC学习笔记(2)——AI大模型开发工程师
  • React 组件 API
  • Python测试框架—pytest详解
  • TensorFlow面试整理-给定一个任务(如图像分类、文本分类),如何从头构建一个TensorFlow模型?
  • 工厂方法模式 — 设计模式
  • 【云计算】KVM虚拟化部署
  • Redis和MySQL如何保证数据一致性
  • SQLAlchemy 连接 dm
  • 基于Multisim的单双声道音频功率放大电路设计与仿真
  • 哈希及其封装实现unordermap和set
  • PSI-BLAST位点特异性矩阵PSSM和ProteinMPNN中氨基酸顺序映射
  • 华为OD机试真题---字符串摘要