学习JAVA浮点数必看文章!
?
虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 — 我们中大多数很少需要使用非整数类型。除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它。同样,大多数开发人员也容易忽略?java.math.BigDecimal?所提供的任意精度的小数 — 大多数应用程序不使用它们。然而,在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。例如,JDBC 使用?BigDecimal?作为 SQL?DECIMAL?列的首选互换格式。
?
因为用科学记数法可以有多种方式来表示给定数字,所以要规范化浮点数,以便用底数为 2 并且小数点左边为 1 的小数来表示,按照需要调节指数就可以得到所需的数字。所以,例如,数 1.25 可以表示为尾数为 1.01,指数为 0:?(-1)?0*1.01?2*2?0
数 10.0 可以表示为尾数为 1.01,指数为 3:?(-1)?0*1.01?2*2?3
![]()
![]()
回页首
![]()
![]()
回页首
![]()
![]()
回页首
![]()
![]()
回页首