int类型数据范围 - 学习_int计算机器数-程序员宅基地

技术标签: 计算机组成-COMPUTER COMPOSITION  进制-BINARY SYSTEM  int  数据范围  

1.应用场景

主要用在计算机内部储存和传输。

你可能还会问:

学习二进制究竟有什么用呢?

平时的编程中,我们好像并没有使用相关的知识啊?

确实,目前的高级语言可以帮助我们将人类的思维逻辑转换为使用 0 和 1 的机器语言,

我们不用再为此操心了。

但是,二进制作为现代计算机体系的基石,这些基础的概念和操作,还是很需要了解的。

二进制贯穿在很多常用的概念和思想中,例如逻辑判断、二分法、二叉树等等。

逻辑判断中的真假值就是用二进制的 1 和 0 来表示的;

二分法和二叉树都是把要处理的问题一分为二,正好也可以通过二进制的 1 和 0 来表示。

因此,理解了二进制,你就能更加容易地理解很多计算机的数据结构和算法,也为我们后面的学习打下基础。

2.学习/操作

1. 文档

五分钟教会你任何进制之间的互相转换

进制转换:二进制、八进制、十六进制、十进制之间的转换  总体思路:先转为十进制,然后再转为目标进制

初学JAVA随记——8bit(1byte)的取值范围是+127到—128 - 吸灰 - 博客园

位(bit)、字节(byte)、字符、编码之间的关系_prdslf001001的博客-程序员宅基地

字节、字、bit、byte的关系_Bobit - 程序员宅基地-程序员宅基地_bit byte

计算机原码,反码,补码_chenchao2017的博客-程序员宅基地_原码反码补码

2. 整理输出

2.1 弄清楚这个事情,首先要知道,二进制与位的概念

二进制

01010101...组成的一段数字,计算机内部[底层]使用的即二进制,包括储存和传输。

补充:

计算机使用二进制和现代计算机系统的硬件实现有关。组成计算机系统的逻辑电路通常只有两个状态,即开关的接通与断开。

二进制的发明者 是 戈特弗里德·威廉·莱布尼茨[德国数理哲学大师] 1679年发明,你说[莱布尼茨]听着有点熟悉,对,就是那个微积分公式,大名鼎鼎的[牛顿-莱布尼茨公式,又名 微积分基本定理]的提出者之一。不过他的命运结局并不好,而且与牛顿不为人知的另一面有关~

位(bit, 比特)

可以简单理解为就是0 1所谓的位置,每个就是位。

如:01010101 就是一个长度为8bit的二进制数字 ,现实中我们常用十进制表示和运算,至于进制之间的换算 ,请另行查阅资料。 

也可参见

五分钟教会你任何进制之间的互相转换  

进制转换:二进制、八进制、十六进制、十进制之间的转换  // 总体思路:先转为十进制,然后再转为目标进制

2.2 核心点

这里以Java为例,其他语言实现也大体是一样的

8bit (1byte)的取值范围是 -128 -- 127
一个byte由八个位组成,如00000000,其中,从右往左数[即从低位到高位],前7位表示数值,第8位是符号位(0为正,1为负)。

这样正负1如下:

+1 : 00000001

-1  : 10000001

最大的正数就是0 1111111,即 2^0+2^1+……+2^6=127,

最小的负数,同理,为1 1111111,即-127。

上述的描述会出现一个问题,就是0,会出现一个 +0 和一个 -0,于是规定-0为-128,这样就与计算机的补码(程序都是按补码运行的) 完美地结合在一起。 --- 到底是如何完美地,请查看计算机的原码,补码,反码

以此类推,int,short,long都可以推出他们的取值范围。

备注:

关于计算机的原码,补码,反码 见 计算机原码,反码,补码

这也是目前计算机系统底层 8 位整型数字的区间范围,所以计算机底层是通过补码来表示数字的,也只能通过补码来表示。

插入

了解到这里,我们再来看为什么 uint 类型的 255 转化为 int8 类型的值后是 -1。-- Golang中

255 是无符号正数,补码和原码都是 255,即 16 个 1 组成的机器数,转化为 int8 类型后,由于 int8 只能存放 8 位机器数,所以会截取 255 后 8 位数字,也就是 1111 1111int8 是有符号数字,第一位是符号位,所以真值是后 7 位,计算机底层通过补码表示数字,需要将其转化为补码,而这个数字又是负数,所以需要将后 7 位按位取反再 +1,也就是 1000 0001,即 -1

后续补充

...

3.问题/补充

TBD

后续补充

...

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/william_n/article/details/101903486

智能推荐

The APR based Apache Tomcat Native library which allows optimal performance in p_init the apr based apache tomcat native library wh-程序员宅基地

文章浏览阅读9.9k次。2010-7-7 12:53:31 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Program Files/Java/jre6/bi_init the apr based apache tomcat native library which allows optimal performance in production environments was not found on the java.library.path

Latex写科技论文小技巧--修改稿件_latex怎么写修改稿-程序员宅基地

文章浏览阅读5.8k次,点赞16次,收藏53次。Latex修改稿件记录一下在返修稿件时,如何较为快捷地完成 revised version 和 pure version 两个不同版本修改稿件的编辑与生成。1. 定义字体颜色的快捷命令因为在修改论文过程中,由于不同期刊的格式不一样,所涉及的cls文件配置也不尽相同,因此可能会遇到自己采样的修改命令和原始官方模板配置中命令相冲突的情况(在IEEE稿件中,用删除线标记所要删除的内容时,往往导致公..._latex怎么写修改稿

词汇总结·《雅思词汇看这本书就够了》_descent和humble-程序员宅基地

文章浏览阅读7.7k次,点赞5次,收藏11次。近来背了一本单词书《雅思词汇看这本就够了》,不过虽然背过了,但是我不知道真的够不够。我把自己认为比较难的词汇以及按照场景的单词都摘录了下来,大致有全书的百分之八十的单词。这本书最好的一方面是按照场景将词汇分类汇聚,这样你记得的词就不会是孤单的,总会有个伴的。是一本不错的单词书,优点有:(1)单词分6分、7分、8分词汇,并且按照阅读、写作、听力分类。(2)按照场景的分类方法将某一类的_descent和humble

Java实现 LeetCode 274 H指数_java求h指数-程序员宅基地

文章浏览阅读1.1w次。274. H指数给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数不多于 h 次。)”示例:输入: citations = ..._java求h指数

【quick-cocos2d-lua】 UI控件_cc.ui.uiinput-程序员宅基地

文章浏览阅读1.4k次。1.输入控件(UIInput):cc.ui.UIInput.new(options)新建一个输入控件options是table类型,image:输入框的图像,imagePressed:输入框输入状态的图像(可选),imageDisabled:输入框禁止输入的图像(可选),listener:回调函数,监听输入事件(可选),size:输入框的尺寸(cc.size(宽度,高度)),x,y坐标..._cc.ui.uiinput

磁盘位置_磁盘开篇:扒开机械硬盘坚硬的外衣!-程序员宅基地

文章浏览阅读500次。人类在宇宙中能够存在,本来就已经是一个极低概率的事件了,宇宙中的各种射线,上千度万度的高温,都是脆弱的人类生命的不可承受之重。人类现在已经把宇宙观测到放大到星系团了暂时也没发现其它文明存在。不管自己多牛逼,始终还是要保存一颗敬畏自然、敬畏其它物种的心,且行且珍惜。今天我以磁盘结构作为硬盘的开篇,来分享我这些年在磁盘、文件方面的思考和总结。1磁盘结构为了方便讨论,我们还是先从最基本的磁盘物..._柱面地址

随便推点

SCI一区级 | Matlab实现DBO-CNN-LSTM-Mutilhead-Attention蜣螂算法优化卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测-程序员宅基地

文章浏览阅读1k次,点赞27次,收藏10次。SCI一区级 | Matlab实现DBO-CNN-LSTM-Mutilhead-Attention蜣螂算法优化卷积长短期记忆神经网络融合多头注意力机制多变量时间序列预测

Qt Creator异常崩溃停止工作_qt creator: stopped in thread 24 by-程序员宅基地

文章浏览阅读5.6k次。最近在写一个获取海康摄像头数据的小程序时,需要用到海康提供的动态链接库和相关SDK。按照Qt添加动态链接库的方式将所需的链接文件添加之后,敲打代码之后保存即出现Qt Creator崩溃然后停止工作的情况,如下图: 一直以为是动态链接库添加有问题,然后一直也没发现错误。图片提示这个故障模块是C++模块,反复试验,然后仔细分析,发现每次崩溃都是在解析C++文件的时候出现了问题。期间_qt creator: stopped in thread 24 by

TRMM降水数据HDF转换为NetCDF文件MATLAB处理流程_将站点降水数据制作成为netcdf文件-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏14次。“热带降雨测量任务”(Tropical Rainfall Measuring Mission,TRMM)卫星是专门用于定量测量热带、亚热带降雨的气象卫星,很多学者用该卫星数据进行降水的分析。目前该卫星数据的时间序列为2002年1月到2019年12月,共计213个月。在matlab或者ArcGIS中nc文件用途较为广泛,在此展示如何使用MATLAB将TRMM0.25°×0.25°逐月数据从HDF文件转化为NetCDF文件。(如有什么问题请多交流)%3B43降水量数据读取%数据路径data_d._将站点降水数据制作成为netcdf文件

选择排序---while( scanf("%d",&n)!= EOF)与getchar()简介及其存在的问题,_"(scanf(\"%d\", &array[j])) != eof"-程序员宅基地

文章浏览阅读1.7k次。基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……③第i趟排序_"(scanf(\"%d\", &array[j])) != eof"

stm32蓝牙,电机和灯带初始化_stm32电机初始化问题-程序员宅基地

文章浏览阅读340次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.电机驱动2.WS2812灯带控制文件3.主函数调用stm32mini板电机驱动程序,WS2812灯带初始化程序和使用蓝牙模块进行遥控的主程序1.电机驱动电机驱动头文件:#ifndef __MOTOR__#define __MOTOR__#include "sys.h"#define IN1 PAout(4)#define IN2 PAout(5)void Motor_Init(u16 arr,u16 psc)_stm32电机初始化问题

电商大数据|大数据分析的关键技术|电商大数据采集|主流电商API接口商品大数据采集-程序员宅基地

文章浏览阅读954次,点赞32次,收藏13次。大数据是海量的非结构性数据。简单来讲,大数据就是大量的数据,数据量达到普通的设备存不下,普通设备已经算不懂的数据,就可以将其称之为大数据了。电商大数据包含商品数据,订单数据,物流数据,客户购买等数据。我们对电商行业大数据的采集,通常要求数据稳定,满足高并发等。