rjps.net
当前位置:首页 >> jAvA中long的范围 >>

jAvA中long的范围

1个字节是8位 只有8种基本类型可以算.其他引用类型都是由java虚拟机决定的自己不能操作 byte 1字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节 char 2字节 boolean 1字节

范围:-9223372036854775808到9223372036854775807 解释:long类型是64位的也就是 ”-2^64“ 到”2^64 -1“.

基本类型 字节数 位数 最大值 最小值 byte 1byte 8bit 2^7 - 1 -2^7 short 2byte 16bit 2^15 - 1 -2^15 int 4byte 32bit 2^31 - 1 -2^31 long 8byte 64bit 2^63 - 1 -2^63

float:占四个字节,3.4*10(-38)---3.4*10(38); double:占八个字节, 1.7*10(-308)---1.7*10(308); longdouble型的范围和double都是八个字节,范围相同. 上面的括号表示幂运算.

这个还有疑问?科学计数法一个e38就代表38位 long最多才能表示19位的十进制数 两者不是一个数量级的 float的表示数字是数值乘以10的n次方得到的.n大于0的时候表示大数,n小于零的时候代表小数

因为long要存储严格的整数,有严格的范围限制,精度永远为1 float是浮动精度.支持小数,但数值达到一定大的时候,就会出现误差.当float的值达到一定大小,程序中遇到2个float比较的时候会出现应该相等,但结果不等,或者应该不等却相等的情况.因为float是有误差的 long没有误差,但不能有小数..

long最大值是9223372036854775807(2^64-1).long最小值是-9223372036854775808(-2^64).long的最大值写法:long l = 9223372036854775807L;long的最小值写法:long l =- 9223372036854775808L;备注:后面的一个L,必须加上去.

首先 不如果不加l在后面标明 默认是int型 所以4是错误的 5是正确的 3明显溢出 不讨论 1与2主要涉及到乘法的问题 java在相乘之前不知道你的结果是否溢出 只有在乘的时候才知道 所以乘完后结果自动转换到长整形 而你又把他赋值给整形变量 所以他自动截取了后面的部分 结果就是0了

long 就是长整型的意思.java 的 8 个基本类型的一种.你应该要把 java 的 8 种基本类型一起记:byte short int long char float double boolean int 是 32 位的整数,long 就是 64 位的整数,表示范围:-2^63 ~ 2^63 -1

还真是超了..别忘了还有一位符号位.题主可以试试输出Long.MAX_VALUE.就知道了

网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com