主页 > 新闻资讯 > 成都大数据培训之关于Bigdecimal你不知道的秘密

成都大数据培训之关于Bigdecimal你不知道的秘密

作者:覃老师 浏览次数: 2021-09-16 17:58
成都大数据培训之关于Bigdecimal你不知道的秘密
 一、java语言中Bigdecimal类型占用多少个字节
非基本类型BigDecimal引用的对象占用的字节数是可变的,具体大小依赖于你输入的数据量,要求的精度和选择的舍入方法。如果你问的是类型为BigDecimal的引用变量占用的字节数,那只有一个指针变量的大小,目前为4。
成都大数据培训
如果还不懂,请看例子:
BigDecimal d=new BigDecimal(1.1);
这里调用BigDecimal的构造函数创建了一个BigDecimal对象,定义d是一个指向这个BigDecimal对象的引用(即用d来保存这个对象的地址),d的大小是4字节,而随着不断地进行计算,譬如通过调用add方法累加更多的大的数据到d指向的对象,这个对象占用的内存会越来越大,它占用的内存大小不固定。
 
二、java中的new BigDecimal(0)是什么意思?
1.BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale 次幂。因此,BigDecimal表示的数值是(unscaledValue × 10-scale)。
成都大数据培训
2.借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。

以上是成都大数据培训之关于Bigdecimal你不知道的秘密详细介绍。如果想了解更多详情,请点击成都卡米古大数据官网!成都大数据培训学校、大数据开发培训、数据分析与挖掘、零基础课程正在招生中!
 
 

标签:
热点排行
推荐文章
立即申请>>