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

byte: 1字节   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
double:8字节  64位		 -2^1024~2^1024
char:   2字节    16位
Boolean: 1字节 8位

种类-----符号位-----指数位-----尾数位
float---第31位-----第30-23位--第22-0位
double--第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 @ 2022-04-20 23:24  朱在春  阅读(111)  评论(0编辑  收藏  举报