<bdo id='EH38O'></bdo><ul id='EH38O'></ul>
    1. <i id='EH38O'><tr id='EH38O'><dt id='EH38O'><q id='EH38O'><span id='EH38O'><b id='EH38O'><form id='EH38O'><ins id='EH38O'></ins><ul id='EH38O'></ul><sub id='EH38O'></sub></form><legend id='EH38O'></legend><bdo id='EH38O'><pre id='EH38O'><center id='EH38O'></center></pre></bdo></b><th id='EH38O'></th></span></q></dt></tr></i><div id='EH38O'><tfoot id='EH38O'></tfoot><dl id='EH38O'><fieldset id='EH38O'></fieldset></dl></div>
        <tfoot id='EH38O'></tfoot>

      1. <small id='EH38O'></small><noframes id='EH38O'>

        <legend id='EH38O'><style id='EH38O'><dir id='EH38O'><q id='EH38O'></q></dir></style></legend>
      2. 为什么在 MSVC 中默认情况下将浮点值(例如 3.14)视

        时间:2023-10-06
          <tbody id='kZtmC'></tbody>
            <bdo id='kZtmC'></bdo><ul id='kZtmC'></ul>
              <legend id='kZtmC'><style id='kZtmC'><dir id='kZtmC'><q id='kZtmC'></q></dir></style></legend>

            1. <i id='kZtmC'><tr id='kZtmC'><dt id='kZtmC'><q id='kZtmC'><span id='kZtmC'><b id='kZtmC'><form id='kZtmC'><ins id='kZtmC'></ins><ul id='kZtmC'></ul><sub id='kZtmC'></sub></form><legend id='kZtmC'></legend><bdo id='kZtmC'><pre id='kZtmC'><center id='kZtmC'></center></pre></bdo></b><th id='kZtmC'></th></span></q></dt></tr></i><div id='kZtmC'><tfoot id='kZtmC'></tfoot><dl id='kZtmC'><fieldset id='kZtmC'></fieldset></dl></div>

              <small id='kZtmC'></small><noframes id='kZtmC'>

              <tfoot id='kZtmC'></tfoot>

                  本文介绍了为什么在 MSVC 中默认情况下将浮点值(例如 3.14)视为双精度值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  为什么我需要使用 3.14f 而不是 3.14 来禁用所有这些警告?这有什么连贯的原因吗?

                  Why do I need to put 3.14f instead of 3.14 to disable all those warnings ? Is there a coherent reason reason for this ?

                  推荐答案

                  这是 C++(和 C)标准决定的.浮点文字是 double 类型的,如果您需要它们是浮点数,您可以使用 f 后缀.似乎没有任何具体说明原因,但我猜是 a) 与 C 兼容,b) 精度和存储之间的权衡.

                  That's what the C++ (and C) standard decided. Floating point literals are of type double, and if you need them to be floats, you suffix them with a f. There doesn't appear to be any specifically stated reason as to why, but I'd guess it's a) For compatibility with C, and b) A trade-off between precision and storage.

                  2.13.3 浮动字面量 类型浮动文字的两倍,除非由后缀明确指定.这后缀 f 和 F 指定 float,后缀 l 和 L 指定 long double.如果缩放值不在范围其类型的可表示值,程序格式错误.

                  2.13.3 Floating literals The type of a floating literal is double unless explicitly specified by a suffix. The suffixes f and F specify float, the suffixes l and L specify long double. If the scaled value is not in the range of representable values for its type, the program is ill-formed.

                  这篇关于为什么在 MSVC 中默认情况下将浮点值(例如 3.14)视为双精度值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:C++11 继承构造函数和访问修饰符 下一篇:memset() 或值初始化以将结构归零?

                  相关文章

                  最新文章

                    • <bdo id='cn7nV'></bdo><ul id='cn7nV'></ul>
                    <legend id='cn7nV'><style id='cn7nV'><dir id='cn7nV'><q id='cn7nV'></q></dir></style></legend>
                    <i id='cn7nV'><tr id='cn7nV'><dt id='cn7nV'><q id='cn7nV'><span id='cn7nV'><b id='cn7nV'><form id='cn7nV'><ins id='cn7nV'></ins><ul id='cn7nV'></ul><sub id='cn7nV'></sub></form><legend id='cn7nV'></legend><bdo id='cn7nV'><pre id='cn7nV'><center id='cn7nV'></center></pre></bdo></b><th id='cn7nV'></th></span></q></dt></tr></i><div id='cn7nV'><tfoot id='cn7nV'></tfoot><dl id='cn7nV'><fieldset id='cn7nV'></fieldset></dl></div>
                  1. <small id='cn7nV'></small><noframes id='cn7nV'>

                      <tfoot id='cn7nV'></tfoot>