我是靠谱客的博主 无聊小馒头,最近开发中收集的这篇文章主要介绍java 基本数据类型所占字节数一、java  基本数据类型二、布尔争议三、float与double的范围和精度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、java  基本数据类型

Java一共有8种基本数据类型(原始数据类型):
类型
存储要求
范围(包含)
默认值
包装类
整 int
4字节(32位) -2^31~ 2^31-1
0
Integer
数 short
2字节(16位) -2^15~2^15-1
0
Short
类 long
8字节(64位) -2^63~2^63-1
0
Long
型 byte
1字节(8位) -2^7~2^7-1
0
Byte
浮点 float
4字节(32位) -3.4e+38 ~ 3.4e+38
0.0f
Float
类型 double
8字节(64位) -1.7e+308 ~ 1.7e+308
0
Double
字符 char
2字节(16位) u0000~uFFFF(‘’~‘?’)
‘0’
Character
布尔 boolean
1/8字节(1位)
true, false
FALSE
Boolean

二、布尔争议

1、布尔类型, 为两个逻辑值,编译后用0,1来表示,仅需1bit即可存储;

2、计算机处理数据最小单位为1个字节即8位,因此布尔实际存储为1个字节,00000000,00000001.

3、JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,这样我们可以得出boolean类型占了单独使用是4个字节,在数组中是确定的1个字节。

参考:https://blog.csdn.net/YuanMxy/article/details/74170745

 

 

三、float与double的范围和精度

1. 范围
  float和double的范围是由指数的位数来决定的。
  float的指数位有8位,而double的指数位有11位,分布如下:
  float:
  1bit(符号位) 8bits(指数位) 23bits(尾数位)
  double:
  1bit(符号位) 11bits(指数位) 52bits(尾数位)
  于是,float的指数位有8位,故指数范围为-127~+128(-2^7+1    -    2^7),而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
  其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
  float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

 

 

最后

以上就是无聊小馒头为你收集整理的java 基本数据类型所占字节数一、java  基本数据类型二、布尔争议三、float与double的范围和精度的全部内容,希望文章能够帮你解决java 基本数据类型所占字节数一、java  基本数据类型二、布尔争议三、float与double的范围和精度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部