C++ 用于指定零浮点文本的语法
有趣的是:-)如果指定C++ 用于指定零浮点文本的语法,c++,syntax,floating-point,language-lawyer,literals,C++,Syntax,Floating Point,Language Lawyer,Literals,有趣的是:-)如果指定0f,该值将被解释为八进制整数文本。因此,不允许使用f(十进制15)00f和.f也不起作用。唯一有效的方法是0.f和.0f。还有别的办法吗?不过,我还是不明白为什么0.f有效。0是否解释为八进制前缀?C++当然是复杂的,甚至是最基本的语法~> 不过,我还是不明白为什么是0 它可以工作,因为字符使其成为浮点文字。带有f的浮点文字是浮点。小数部分是可选的,如果省略,则为零 由于0..1之间的值使用0.X语法,因此不能使用八进制浮点文字 0是否解释为八进制前缀 如果是整数文本,则
0f
,该值将被解释为八进制整数文本。因此,不允许使用f
(十进制15
)00f
和.f
也不起作用。唯一有效的方法是0.f
和.0f
。还有别的办法吗?不过,我还是不明白为什么0.f
有效。0
是否解释为八进制前缀?C++当然是复杂的,甚至是最基本的语法~>
不过,我还是不明白为什么是0
它可以工作,因为
字符使其成为浮点文字。带有f
的浮点文字是浮点
。小数部分是可选的,如果省略,则为零
由于0..1之间的值使用0.X
语法,因此不能使用八进制浮点文字
0是否解释为八进制前缀
如果是整数文本,则前缀是八进制文本的语法。例如:01是八进制,0x1是十六进制,1是十进制
不过,我还是不明白为什么是0
它可以工作,因为
字符使其成为浮点文字。带有f
的浮点文字是浮点
。小数部分是可选的,如果省略,则为零
由于0..1之间的值使用0.X
语法,因此不能使用八进制浮点文字
0是否解释为八进制前缀
如果是整数文本,则前缀是八进制文本的语法。例如:01是八进制,0x1是十六进制,1是十进制。
f
不是有效的八进制文字,因此我怀疑它是否被解释为0f中的一个。请看:我建议您参考@NathanOliver上的文档,它似乎表明0f
中的f
被解释为十进制15
。我(相信)最常看到的就是0.0f
,不管值多少。在拯救一两个角色上付出太多的努力似乎…被误导了,至少对我来说是这样(除非你是在做代码高尔夫或者其他类似的事情)。你是怎么做到的。它说有一个错误,f是一个无效的八进制常数,这意味着0f!=15
因为0f
是一个错误。f
不是有效的八进制文字,所以我怀疑它是否被解释为0f中的一个。请看:我建议您参考@NathanOliver上的文档,它似乎表明0f
中的f
被解释为十进制15
。我(相信)最常看到的就是0.0f
,不管值多少。在拯救一两个角色上付出太多的努力似乎…被误导了,至少对我来说是这样(除非你是在做代码高尔夫或者其他类似的事情)。你是怎么做到的。它说有一个错误,f是一个无效的八进制常数,这意味着0f!=15
因为0f
是一个错误。因此,在0.x
中,0
不被解释为八进制前缀,而是零?@Lingxi是的,八进制前缀只适用于整数文本-没有
的文本。因此,在0.x
中,0
不被解释为八进制前缀,而是零?@Lingxi yes,八进制前缀仅适用于整数文本-不带
的文本。