处理大整数运算可能用一些占用内存、牺牲执行效率的算法还能算算超级大的数字(BigInteger 已经处理好了),
我想麻烦就在小数处理问题上了:倒是改用定点数表示形式?还是浮点数表示形式呢?
由于人类输入的是十进制小数,采用定点数表示可以更加轻松处理记录显示小数,更加有优势。
但计算机内部计算时又只能是二进制形式,如果用浮点数表示就很容易利用 IEEE 标准的指令来计算过程,好像前者又相形见绌。
小数计算时本质还是数值计算,难免要丢失精度,对于一个用户使用的计算器应该如何取舍?怎么处理超大数和极小小数计算产生的精度丢失问题了?
还是老问题:0.1 + 0.2 = 0.3 ? 程序员知道不等于,可怎么编造一个“等于”的答案给用户好?等我做完作业有空也研究一下 BigDecimal 是怎么处理?