Java Float / Double和VB.NET的Float / Double之间有区别吗?

时间:2013-06-07 07:59:40

标签: java .net floating-point

Java Float / Double Type和VB.NET的Float / Double Type之间有区别吗?

编辑:他们都使用相同的规格吗? (IEEE 754)

2 个答案:

答案 0 :(得分:2)

VB-Double

  

保持签名的IEEE 64位(8字节)双精度浮点数   值范围为-1.79769313486231570E + 308到的数字   -4.94065645841246544E-324为负值,从4.94065645841246544E-324到1.79769313486231570E + 308为正值。双精度数字存储真实的近似值   号。

Java-Double

  

双数据类型是双精度64位IEEE 754浮点数   点。它的价值范围超出了本次讨论的范围,但是   在浮点类型,格式和值部分中指定   Java语言规范。对于十进制值,此数据类型   通常是默认选择。

答案 1 :(得分:2)

在Java中,float是32位IEEE 754浮点,double是64位IEEE 754浮点。这是一个标准,与机器无关。

我不知道任何适用于VB.NET的类似标准。这是一个很好的参考点: http://msdn.microsoft.com/en-us/library/47zceaw7(v=vs.80).aspx

所以,目前它们是相同的尺寸,但我认为你不能永远保证。它们可能会或可能不会在尾数和指数之间具有相同的位分配。

(请记住,例如,VBA中的整数仍然是16位!)