計算機計算小數的方法


以0.5為例,0.5*2=1,所以二進制表示為0.10

以0.625為例,0.625*2=1.25,所以二進制表示為0.101

而這種情況下,0.1是無限循環狀態,所以我們使用IEEE 754標准,即float,與double使用sem序列,表達式為n=(-1)^s*m*2^e

  當n<0時,s=1,n>=0,s=0;

  m是尾數位,有效數字位;e是n的指數位。

注意:JAVA當中不要用float與double進行金額計算,會發生精度丟失,建議使用BigDecimal來計算。

本文鏈接:https://zhuanlan.zhihu.com/p/265281184


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM