为什么能用float而不能用float和double怎么用


Not a number其实是说不是一个合理的实数,在合法但不合理的情况下避免你的程序出exception

其实就是个无穷大或无穷小,在matlab里面也是用NaN来表示不定量的数的

NaN是Float,float和double怎么用的一个成员常量,用来指示一个Float或float和double怎么用不是合法的,不过好像没多大用处可能在runtime用的上,一般情况下就好像有点多余


        然而使用BigDecimal有两个缺点:与使用基本运算类型相比,这样做很不方便而且很慢。对于解决这样一个简单的问题后一种缺点并不要紧,后一种缺点并不要紧但是前一種缺点可能会让你很不舒服。

 
总而言之对于任何需要精确答案的计算任务,请不要使用float或者float和double怎么用如果你想让系统来记录十进制小數点,并且不介意因为不使用基本类型而带来的不便就请使用BigDecimal。使用BigDecimal还有一些额外的好处他允许你完全控制舍入,每当一个操作涉及舍入的时候他允许你从8种舍入模式中选择其一。如果你正通过法定要求的舍入行为进行业务计算使用BigDecimal是非常方便的。如果性能非常关鍵并且你不介意自己记录十进制小数点,而且所涉及的数值又不太大就可以使用int或者long。如果数值范围内有超过9位十进制数字就可以使用int;如果不超过18位数字,就可以使用long如果数值可能超过18位数字,就必须使用BigDecimal
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

单精度浮点数(float)与双精度浮点数(float和double怎么用)的区别如下:

(1)在内存中占有的芓节数不同

单精度浮点数(float)在机内占4个字节

双精度浮点数(float和double怎么用)在机内占8个字节

(2)有效数字位数不同

单精度浮点数(float)有效数芓8位

双精度浮点数(float和double怎么用)有效数字16位

(3)所能表示数的范围不同

(4)在程序中处理速度不同

一般来说,CPU处理单精度浮点数的速度比處理双精度浮点数快

至于要加F是因为就是这么规定的……如果不加F的话他会认为你是用的float和double怎么用型……

比如:编译器在编译的时候扫描箌了一个25.6在不带f的情况下,它会判断这是float和double怎么用类型应该创建一个8个字节的空间来存放,从而可能会出现损失精度的问题;带上f編译器就会创建一个4字节的空间来存放。float不能像整形那样有时会默认转换必须要确定类型,带上f

我要回帖

更多关于 float和double怎么用 的文章

 

随机推荐