整数数据类型的取值范围

我们都知道计算机的底层是二进制,也知道不同的整数类型存储值的范围不同,可这些数值在计算机底层是怎样存储的呢?数值范围又是怎么计算出来的呢?

下面以java来进行举例:

byte1个字节 (8bit)-2^7~2^7-1

short2个字节 (16bit)-2^16~2^16-1

int4个字节 (32bit)-2^31~2^31-1

long8个字节 (64bit)-2^63~2^63-1

整数数据类型其中最高位是符号位,用来表示正数或负数。其中0用来表示正数,1用来表示负数。

那么,剩下的位就是数值位,用来表示数值大小的。

那么byte的可用范围就是7位了:

从 000 0000 ~ 111 1111 转换成十进制也就是从 0 ~ 127

如果加上符号位呢?

1111 1111 ~ 0111 1111 转换成十进制是从 -127 ~ 127

可是如果我们的 111 1111 还能再进一位呢?

那不就是变成 1000 0000了吗,那这个数到底是用来表示-128还是128呢?

因为符号位的存在,如果让它来表示128的话,就乱套了,所以我们就规定只用它来表示正的128。

所以一个字节能表示的最大范围是从 -2^7 ~ 2^7-1 ps:2^7是128

无符号类型的取值范围(char)

Java中的char类型是用两个字节来表示,使用的是Unicode编码,所以可以正常表示中文字符。

两个字节一共十六位,又因为没有符号位,都是数值位的原因,所以表值范围是从:

0000 0000 0000 0000 ~ 1111 1111 1111 1111 1111 1111 (65535)

所以char类型的表值范围是从 0 ~ 2^16-1

java char取值范围是_Java中数据类型的取值范围相关推荐

  1. java int值的范围_java中int的取值范围是多少

    java中int的取值范围是多少 发布时间:2020-06-26 14:53:13 来源:亿速云 阅读:159 作者:Leah 今天就跟大家聊聊有关java中int的取值范围,可能很多人都不太了解,为 ...

  2. java中布尔值做比较_Java中的三态布尔值

    java中布尔值做比较 我不时地错过Java中SQL的三值BOOLEAN语义. 在SQL中,我们有: TRUE FALSE UNKNOWN (也称为NULL ) 时不时地,我希望自己也可以用Java表 ...

  3. java char数组转string数组_Java中char数组(字符数组)与字符串String类型的转换方法...

    本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法.分享给大家供大家参考,具体如下: 在Java语言编程时,使用"口令字段"jPasswordFie ...

  4. java finally什么时候不执行_Java 中的 finally 一定会被执行吗?

    不要因害怕冒险而踟蹰不前,而要为创造伟大提供可能. 一.前言 因为这次面试有问到一些同学finally的问题,发现自己这块好像有点记不太清楚了,有的点可能还给人家说错了,一度弄得场面有些尴尬.所以说这 ...

  5. java的double是什么意思_java中int和double有什么区别

    java中int和double有什么区别 区别如下: 1.int数据类型是32位,double数据类型是64位: 2.int数据类型的默认值是0,double数据类型的默认值是0.0d: 3.整型变量 ...

  6. java cookie 取不到_java中Servlet Cookie取不到值原因解决办法

    java中Servlet Cookie取不到值原因解决办法 现象: 在测试带Cookie的HTTP请求时发现,服务端用request.getHeader("cookie")可以去到 ...

  7. Java中数据类型的取值范围

    整数数据类型的取值范围 我们都知道计算机的底层是二进制,也知道不同的整数类型存储值的范围不同,可这些数值在计算机底层是怎样存储的呢?数值范围又是怎么计算出来的呢? 下面以java来进行举例: byte ...

  8. java取余位运算_Java中对于位运算的优化以及运用与思考

    引言 随着JDK的发展以及JIT的不断优化,我们很多时候都可以写读起来易读但是看上去性能不高的代码了,编译器会帮我们优化代码.之前大学里面学单片机的时候,由于内存以及处理器性能都极其有限(可能很多时候 ...

  9. java 反射修改final变量_Java中final的属性值怎么利用反射机制进行修改

    Java中final的属性值怎么利用反射机制进行修改 发布时间:2020-12-02 17:31:07 来源:亿速云 阅读:96 作者:Leah 今天就跟大家聊聊有关Java中final的属性值怎么利 ...

  10. java return返回值_java中关于return返回值的用法详解

    我们输入一个条件时,系统就会对这个条件进行判断,然后给出一个返回时的结论,我们把这个结果看做是返回值.在java里可以使用return语句来进行返回,从字面意思就能很好的理解它的用法了.下面我们就re ...

最新文章

  1. 一个有趣的实验:用0.1f 替换 0,性能提升 7 倍!
  2. Java的内存分配策略有哪些_Java的内存分配策略
  3. mysql 数据迁移java_使用jdk进行数据迁移(sqlite迁移mysql)
  4. 自然场景中交通标志牌检测~文末送书
  5. 讨论需求时组里都是怎么做的
  6. 对文式编程的一些误解
  7. 网络棋牌游戏成为网游主流力量
  8. SQL SELECT完整语法
  9. 异常处理(二)---------Field * in * required a bean of type '*' that could not be found.
  10. 什么邮箱最好用?主流邮箱品牌如何选择
  11. 台式计算机的规格参数有什么,台式机主流配置型号参数
  12. 参观营收上亿的私域流量企业
  13. OS - freeRTOS vs Linux
  14. (阿里/百度/腾讯)云服务器建站全过程(Ubuntu Server 16.04.1 LTS 64位)
  15. 通信协议——MII/GMII
  16. 负数二进制表示的方式及原因
  17. 04 - Linux的用户与组文件
  18. GT-S7500 显示存储卡满解决办法
  19. 01-windows下载与安装neo4j
  20. 汇编语言贪吃蛇、俄罗斯方块双任务设计实现详解(三)——俄罗斯方块详细设计

热门文章

  1. python输入整数输出英文_python练习 英文字符的鲁棒输入+数字的鲁棒输入
  2. 忘记Jenkins管理员密码的解决办法
  3. openpose的搭建
  4. 网秦上市前夕被央视曝光恶意吸费 网秦飞流否认
  5. 燕过留声:由 Activity 和 Fragment 的通信方法想到的【WIP】
  6. “peter piper picked a peck of pickled peppers“统计这段绕口令有多少个以p开头的单词 String中方法:split/startWith
  7. 好记性不如烂笔头。 站在岸上学不会游泳。
  8. 愿守内心宁静,砥砺此生修行
  9. Mysql安装后环境变量配置
  10. pyqt5-事件机制