nsjd.net
当前位置:首页 >> jAvA中 long 和DouBlE都是64位.为什么DouBlE表示... >>

jAvA中 long 和DouBlE都是64位.为什么DouBlE表示...

double是n*2^m(n乘以2的m次方)这种形式存储的,只需要记录n和m两个数就行了,m的值影响范围大,所以表示的范围比long大。 但是m越大,n的精度就越小,所以double并不能把它所表示的范围里的所有数都能精确表示出来,而long就可以。

Java中的原子操作包括: 1)除long和double之外的基本类型的赋值操作 2)所有引用reference的赋值操作 3)java.concurrent.Atomic.* 包中所有类的一切操作。 但是java对long和double的赋值操作是非原子操作!!long和double占用的字节数都是8,...

这个问题首先就不是一个严谨的问题。long和double是一个基本类型,只有被用在多线程数据共享时才会出现线程安全的问题。如果不共享,就不会线程不安全。 其次,基本类型本身就是内存值的直接拷贝,多线程共享情况下,如果没有保护机制,数据的读...

64位的long只能表示2的63次方(每个数都能精确表示),10的108次方远远超出范围. 浮点数是记录数值+精度的,比如100 = 1* 10的2次方,只需要记录1和2就可以了(实际上记录的应该是2的多少次方),因此可表示范围会大很多。 但是越大的范围精度就会越...

浮点型:Float 32位单精度浮点数 10^-38~10^38和-10^-38~-10^38Double 64位双精度浮点数 10^-308~10^308和-10^-308~-10^308 整数型:Byte 8位带符号整数 -128到127之间的任意整数 Short 16位无符号整数 -32768~32767之间的任意整数 Int 32位带符...

是看精度的,从下到上这样不会发生数据丢失,如果从下到下,比如double到float,会因为精度问题而发生数据丢失

java Double 表达式 E代表科学计数法的10,后面跟指数308。 64位双精度浮点数double用11bits表示浮点的2的指数,可以有11位[-1022,1023]指数范围。 取值范围约在2的正负1023次方级别 比64位整型long的2的64次方取值范围[0, 2^63)要大很多。

(double) b/1000; 这一步是把b先转化为Double型 然后进行计算 因为计算的类型中有double型 所以1000自动转化为double型 结果就是double型 12.345 b/1000; 这一步是long型/long型 得到的结果也是long型 就是12 然后转化为double型 就是12.0

在JAVA中把double类型转换成long类型,丢失数据位是小数位,也就是取整。 Java 中 long 是一个整数基本类型, 长度为64bits, 即8字节.而double存在小数;如果带小数点的double转long型必定会造成数据变化,也就是取整。

java中像int,long,double...都是基本类型,其实它们都有对应的对象版本,名字是第一个字母大写,int对应Int,long对应Long,double对应Double 对应的类类型被称为基本类型的包装类,所以Long是long的包装类 详细情况参见Bluestorm's Space,地址...

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