【问题标题】:Are there any numeric suffixes for specifying a double?是否有用于指定双精度的数字后缀?
【发布时间】:2009-10-07 22:33:06
【问题描述】:
void Foo(float  a){}  //1
void Foo(double a){}  //2 overloaded


Foo(1.0f);                           //calls function 1
Foo(1.0 /*double numeric suffix?*/); //calls function 2

如果不是,那么强制转换是实现此目的的唯一方法吗?我主要感兴趣 在某些操作等过程中确保双精度数学:

ulong j;
double v;

j = /*some value*/;
if(j>0UL)
  v = 1.0 / j;  //if 1.0 is set as a float by the compiler then
                //could it be likely we lose some precision here 
                //if a double would allow for more precision?  Is
                //a cast the only means of ensuring double precision?

有关允许编译器在操作期间自动确定类型的其他提示会有所帮助。

【问题讨论】:

    标签: c++


    【解决方案1】:

    C++ 中不需要后缀。默认情况下,任何缺少“f”后缀的浮点值都将键入编译器类型 double。

    参考:http://en.wikipedia.org/wiki/C_0x

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 2019-05-01
      相关资源
      最近更新 更多