int类型变量表示范围的计算原理

文章目录

  • 1. 了解
  • 2. 为什么通常情况下int类型整数的取值范围是-2147483648 ~ 2147483647
  • 3. int类型究竟占几个字节
  • 4. 推荐

1. 了解

在这里插入图片描述
        通常情况下int类型变量占4个字节,1个字节有8位,每位都有0和1两种状态,所以int类型变量一共可以表示 2^32 种状态(即可以表示 2^8 个数据值)。

2. 为什么通常情况下int类型整数的取值范围是-2147483648 ~ 2147483647

07:36开始
进一步理解
        问:通过上述两个视频可以知道int类型可表示的正整数范围是1 ~ 2^31 - 1,将此逻辑类比到负整数,那么int类型可以表示的整数范围不应该是 -2^31 + 1 ~ 2^31 -1么?既然2^31 这个值取不到,为什么-2^31可以取到?
        答:在计算机科学中,最常用的有符号整数表示方法是二补数表示法。这种方法不仅解决了正负数的表示问题,还简化了二进制加减运算。我们具体来看一下这种表示法:
        1. 正数:正数的二进制表示与无符号数相同。比如,3用3位二进制表示是011。
        2. 负数:负数的表示是通过正数的补码实现的。负数的补码计算方法是:将该数的绝对值的二进制表示取反,然后加1。例如:
        ① 取反:先将3的二进制表示011取反,变成100。
        ② 加1:100加1得到101,因此 -3的二补数表示就是101。
        对于一个32位的整数变量,它的最高位(也称符号位)表示符号,0表示正,1表示负。其余31位用于表示数值。接下来回到刚刚提出的问题:
        1. 正数范围(包含0):符号位为0,其余31位可以表示从000…000(31个0)到011…111(31个1)的值。对应的十进制范围是从0到2^31 - 1。
        2. 负数范围:符号位为1,其余31位可以表示从100…000(31个0)到111…111(31个1)的值。其中,100…000(31个0)的二补数表示-2^31 ,对应的十进制值是 -2^31。 111…111(31个1)的二补数表示 -1,对应的十进制值是 -1。
        正数范围:1 ~ 2^31 - 1;0;负数范围:-1 ~ -2^31,总数依然是 2^32 种不同的状态。因此通常情况下int类型整数的取值范围是-2147483648 ~ 2147483647 (即 -2^31 ~ 2^31 - 1)

3. int类型究竟占几个字节

64位 int 占几个字节_整数类型 int、long和long long的区别
64位 int 占几个字节_【面试】int 占几个字节?
32位机和64位机的区别及基本数据类型占字节数
C语言整数类型(含取值范围和长度)
int类型究竟占几个字节
不同平台下int类型、指针类型的数据大小
Java之sizeof()问题
python中int类型变量可以存储任意大小的整数

总结:

  1. C和C++ 的数据类型大小会受到编译标准、编译器、操作系统位数等的影响。
  2. Java 和 Python 的数据类型大小由语言规范或解释器实现决定,不受编译器、操作系统位数等因素的影响。
  3. 这种设计差异的主要原因是:C和C++是系统编程语言,通常需要直接与硬件交互,因此数据类型的大小会因底层环境而异;而Java和Python是高级编程语言,抽象程度更高,设计目标是跨平台一致性。

4. 推荐

再次推荐
第三部分问题诞生起源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【全面介绍Oracle】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 目录 🎥前言🎥基本概念和安装🎥SQL语言🎥PL/SQL编程🎥数据库…

【计算机组成原理 | 第三篇】各个硬件的组成部分

前言: 在前面的文章中,我们介绍了计算机架构的基本组成。可以知道计算机的基本架构由“存储器”,“运算器”,“控制器”,“输入设备”,“输出设备”这五部分组成。 在这片文章中,我们来深入的了…

【斯坦福因果推断课程全集】2_无混淆和倾向分1

目录 Beyond a single randomized controlled trial Aggregating difference-in-means estimators Continuous X and the propensity score 随机试验的一个最简单的扩展是无约束下的干预效果估计。从定性上讲,当我们想估计一种并非随机的治疗效果,但一…

数列分块<2>

本期是数列分块入门<2>。该系列的所有题目来自hzwer在LOJ上提供的数列分块入门系列。 Blog:http://hzwer.com/8053.html sto hzwer orz %%% [转载] 好像上面的链接↑打不开&#xff0c;放一个转载:https://www.cnblogs.…

tensorflow卷积层操作

全连接NN&#xff1a; 每个神经元与前后相邻层的每一个神经元都有全连接关系。输入是特征&#xff0c;输出为预测结果。 参数个数(前层*后层后层&#xff09; 实际应用时&#xff0c;会先对原始图像进行特征提取&#xff0c;再把提取到的特征送给全连接网络 会先进行若干层提…

C嘎嘎类与对象上篇

类的定义 1. class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后⾯分号不能省略 。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的⽅法或者成员函数。 2. C中struct也可以…

【C语言】C语言-学生籍贯信息记录系统(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]

文章目录 泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章…

【密码学】哈希函数与加密算法的关系

一、哈希函数的定义 哈希函数&#xff08;Hash Function&#xff09;&#xff0c;也被称为散列函数或杂凑函数&#xff0c; 是一种将任意长度的输入数据&#xff08;通常称为“预映射”或“消息”&#xff09;转换为固定长度输出&#xff08;通常称为“哈希值”、“散列值”、“…

PHP红包拓客微信小程序系统源码

&#x1f389;红包狂欢&#xff0c;客源滚滚来&#xff01;红包拓客微信小程序&#xff0c;营销新利器&#x1f680; &#x1f9e7;一、创意红包&#xff0c;吸引眼球 你还在为如何吸引顾客而烦恼吗&#xff1f;红包拓客微信小程序来帮你&#xff01;&#x1f381; 它以创意红…

基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(六)仿钉钉流程的转bpmn流程图

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、转bpmn流程图接口 /*** 转为bpmn xml格式* param processModel* throws IOException*/PostMapping("/ddtobpmnxml")public Result<?> ddToBpmnXml(RequestBody Proce…

TIA博途Wincc中画箭头和管道的具体方法示例

TIA博途Wincc中画箭头和管道的具体方法示例 如何画箭头? 如下图所示,在右侧的工具箱中找到基本对象—线,点击选中, 如下图所示,在画面中添加一条线段,然后右键进入该线段的属性,设置线的外观: 宽度、样式、颜色; 线端:这里可以选择起始和结束的样式,选择“箭头”,则…

自闭症孩子能否正常上普校:一场充满挑战与希望的探讨

在教育的舞台上&#xff0c;自闭症孩子​​​​​​​能否正常融入普通学校&#xff0c;是一个备受关注且充满争议的话题。 支持自闭症孩子上普校的观点认为&#xff0c;普通学校能为他们提供更接近真实社会的环境。在普校中&#xff0c;自闭症孩子有机会与不同类型的同学交流互…

IDEA实现热部署

什么是热部署&#xff1f; 热部署&#xff08;Hot Deployment&#xff09;是指在应用程序运行过程中&#xff0c;无需停止整个应用程序或重新启动服务器&#xff0c;就能够部署新的代码、资源或配置文件&#xff0c;使其立即生效。这种部署方式有助于提高开发效率和系统的可用性…

【系统架构设计】计算机组成与体系结构(三)

计算机组成与体系结构&#xff08;三&#xff09; 计算机系统组成存储器系统主存储器辅助存储器Cache存储器Cache 基本原理映射机制直接映射全相联映射组相联映射 替换算法写操作 流水线&#xff08;计算&#xff09;流水线周期流水线执行时间流水线的吞吐率流水线的加速比 计算…

卷积是如何计算的

使用代码&#xff0c;看卷积是如何计算的。 torch.nn torch.nn.functional srtide 的用法&#xff0c;代表卷积核的步幅 import torch import torch.nn.functional as F # 这个是输入的一个二维矩阵 input torch.tensor([[1,2,0,3,1],[0,1,2,3,1],[1,2,1,0,0],[5,2,3,1,1],…

Javascript[ECMAScript] 新特性—1

背景 JS1.1&#xff08;1997&#xff09; 第一版基于Netscape Navigator 3.0中实现的JAVASCRIPT 1.1 JS1.2&#xff08;1999&#xff09; 基于Netscape Navigator 4.0中实现的JavaScript 1.2。添加了正则表达式、更好的字符串处理、新的控制语句、Try/Catch异常处理、更严格…

推荐3个提升工作效率的实用电脑工具

PearOCR PearOCR是一款基于网络的光学字符识别&#xff08;OCR&#xff09;工具&#xff0c;旨在通过先进的图像处理和机器学习技术&#xff0c;快速、准确地从图片中提取文字。该工具的所有功能完全免费&#xff0c;这主要得益于其所有文件都在本地进行识别&#xff0c;不需要…

完美解决:MySQL8报错:Public Key Retrieval is not allowed

在配置数据源的时候直接将属性allowPublicKeyRetrieval设置为true即可 &AutoReconnecttrue

使用getopt处理参数

文章目录 使用getopt处理参数1. shift 命令1.1 删除一个参数1.2 删除多个参数1.3 多次执行 shift 参数1.4 参数解析示例1.5 优化处理1.6 问题处理 2. getopt 命令2.1 常用参数及示例2.2 脚本参数优化示例2.3 参数校验 3. 示例展示4. eval 命令4.1 示例示例 1示例 2示例 3示例 4…