Java基本数据类型有哪些,取值范围分别是什么

byte1字节   8位      -2^7~2^7-1		//这么理解吧,一个字节可以表示多少个数呢?2^8=256个数,那么正数最大可以表示到多少,01111111=127,所以正数的上限我们就确定了,那么根据钟表原则,正数+1得到128,此时钟表超出溢出,来到它的最小值,即负数范围,得到此128应该是-128,此后再+1,就又是指针那么正常转了.
short:   2字节  16位    -2^15~2^15-1
int    :   4字节   32位   -2^31~2^31-1
long:   8字节    64位    -2^63~2^63-1
float:   4字节    32位   -2^128~2^128
double8字节  64位		 -2^1024~2^1024
char2字节    16位
Boolean: 1字节 8位

种类-----符号位-----指数位-----尾数位
float---第31位-----第30-23位--第22-0double--第63位-----第62-52位--第51-0位
取值范围主要看指数部分:
它们都是按IEEE754标准存放的,即SEM,标准中规定的是:
float的指数部分有8位,由于是有符号类类型,所以,得到的指数范围是-128~128
double的指数部分有11位,由于是有符号类类型,所以,得到的指数范围是-1024~1024
精度(有效数字)主要看尾数部分:
float的尾数位有23位,因为2^23=8388608,对应7个有效数字,所以精度能保证到小数点后7位
同理,double的精度能保证到小数点后16位。
posted @   朱在春  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示