百科问答小站 logo
百科问答小站 font logo



计算机存储浮点数的时候,为什么不使用十进制来存储呢? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

因为浮点数的特征决定了不能用来做精确计算,即便是十进制浮点数也是如此。要做精确计算如银行什么的必须用定点数或者整型。这样一来,十进制浮点数好处有限。


user avatar   miloyip 网友的相关建议: 
      

问题描述中似乎是用二进制存储尾数(mantissa)。但用十进制存储浮点数的话,尾数也需要十进制的。否则的话,做加减运算要对齐两个数的小数点的时候,就要把尾数乘以 。而正常的做法只需要左右移位。

IEEE 754标准的十进制的浮点数格式是采用了 Densely packed decimal 去存储十进位的尾数,这种方式用 10 bit 可以存储 3 个十进位数字,但仍然有浪费( )。

计算机的计算一般不需要十进制,十进制只是为了输入/输出人类要看的文本时才需要的。对于金额那类计算,也应该用定点数而非浮点数。




  

相关话题

  左移40位为什么不能写成1<<40ll? 
  IT 公司招聘研发人员时是否很少问编译原理、离散数学等理论内容而更偏向具体技能,为什么? 
  完成了c语言程序设计初步学习,大概了解了数据类型,循环,判断,数组,函数和指针。接下来该学什么(书)? 
  如何评价周志华在微博对 AlphaGo 和机器学习技术的评论? 
  如何通俗地解释一下 TCP/UDP 协议和 HTTP、FTP、SMTP 等协议之间的区别? 
  为什么说C++的main函数最后不写 return 0; 是不好的习惯? 
  为什么知乎上有的人不推荐 C 语言入门? 
  这条语句违背了C++哪个原则? 
  x^4+y^4+z^4+w^4=a^4有正整数解吗? 
  为什么学习编程第一课要学习输出"hello, world"?这是谁规定的? 

前一个讨论
串联电路的电阻公式中,R总=R1+R2+R3+…+Rn,为什么没有计上导线的电阻呢?
下一个讨论
为什么内存表面是粗糙的,CPU是很光滑的?





© 2025-05-08 - tinynew.org. All Rights Reserved.
© 2025-05-08 - tinynew.org. 保留所有权利