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



C 语言中的 double 类型所能表示的数的范围为什么这么大,不是说只占32(或64)位吗? 第1页

  

user avatar   flily 网友的相关建议: 
      

范围是那么大,但是不是里面所有的数都可以表示。

浮点数是有精度限制的。浮点数有两个部分组成,一个尾数一个阶码。表示的方法类似科学计数法,比如2.99792458x10^8,那么就会存299792458和9两个整数,其中299792458就是尾数,而9就是阶码。如果使用1个字节来表示阶码,那么表示数的范围可以轻易突破10^127次方。

不过,浮点数是会截断的。比如295 430 243 968 902 328 905 321和295 430 243 968 902 328 900 000很可能没有什么差别,都用类似于0.295 430 243 969x10^25来表示了,后面那些都被截断了。

详见: en.wikipedia.org/wiki/F




  

相关话题

  老师要求我只能使用C++、C或者Java写算法,如何看这种做法? 
  C语言编译器哪个好用? 
  如果穿越成1972年的Dennis Ritchie,你会怎样重新设计C语言? 
  谭浩强在程序员圈子里的口碑如何?为什么? 
  求BAT代码或C语言代码如何自动复制剪切板文本并分行保存一个txt? 
  c/c++怎么把一个bool数组(刚好8个元素)转换成char? 
  我试图用 C 语言的共用体来实现 Base64 编码,为什么失败了? 
  大学c语言学习的考题中,故意用相同变量名来命名形参实参,局部变量和全局变量让学生区分,有实际意义吗? 
  大学c语言学习的考题中,故意用相同变量名来命名形参实参,局部变量和全局变量让学生区分,有实际意义吗? 
  大家在计算机学习路上,都看过哪些神一般的书? 

前一个讨论
热气球为什么会上升?
下一个讨论
Linux 和 Windows 的内存申请机制有何不同?





© 2025-06-17 - tinynew.org. All Rights Reserved.
© 2025-06-17 - tinynew.org. 保留所有权利