内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/3961467/why-isnt-0f-treated-as-a-floating-point-literal-in-c
为什么C没有被处理为浮点文字?
#include <iostream>
using namespace std;
int main(){
cout << 0f << endl;
return 0;
}
上面的编译给了我
C2509 (syntax error: ‘bad suffix on number’)
使用VS2008.
如果有一个明确的说明这个设计决定的原因,那么它将在C99“理由”文档中(C将所有这些东西从C中逐字复制而不重新考虑).但是没有.这是关于’f’后缀的所有内容:
§6.4.4.2 Floating constants
Consistent with existing practice, a floating-point constant is defined to have
type
double
. Since C89 allows expressions that contain only
float
operands
to be performed in
float
arithmetic rather than
double
, a method of
expressing explicit
float
constants is desirable. The
long double
type
raises similar issues.
The
F
and
L
suffixes have been added to convey type information with
floating constants, much like the
L
suffix does for long integers. The default
type of floating constants remains double for compatibility with prior practice.
Lower-case
f
and
l
are also allowed as suffixes.
有一个隐含的理由,但是.请注意:“…已经添加了后缀,以便用浮动常量来传递类型信息.”标准的作者正在考虑数字常数,因为在你到达后缀之后,已经是明确的整数或浮点.后缀仅在该类别中具有特殊性,它不能将数字从一个类别翻转到另一个类别.这是由实际语法(C99§6.4.4)备份的,它首先将数字常量定义为整数常量或浮点常量,然后为每个常量定义单独的后缀类.
代码日志版权声明:
翻译自:http://stackoverflow.com/questions/3961467/why-isnt-0f-treated-as-a-floating-point-literal-in-c
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 微软高管解读财报:公司将量子计算视为长期目标
- ARMCC和GCC编译ARM代码的软浮点和硬浮点问题
- 被视为代替Kafka的消息队列:Apache Pulsar设计简介
- MAAS 2.7 发布,将物理服务器视为云端虚拟机
- c – 我可以在不禁用“将警告视为错误”的情况下排除某些特定警告吗?
- 3. Go语言中的整型与浮点型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CLR via C#
(美)Jeffrey Richter / 周靖 / 清华大学出版社 / 2010-9 / 99.00元
本书针对CLR和.NET Framework 4.0进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以实用特性为主题,第Ⅴ部分花大量篇幅重点介绍线程处理。 通过本书的阅读,读者可以掌握CLR和.NET Framework的精髓,轻松、高效地创建高性能应用程序。一起来看看 《CLR via C#》 这本书的介绍吧!