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

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

    <tfoot id='Aenka'></tfoot>
        <legend id='Aenka'><style id='Aenka'><dir id='Aenka'><q id='Aenka'></q></dir></style></legend>

        • <bdo id='Aenka'></bdo><ul id='Aenka'></ul>

        确保 C++ 双精度为 64 位

        时间:2023-08-29

          <tbody id='MiaP9'></tbody>

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

                <bdo id='MiaP9'></bdo><ul id='MiaP9'></ul>
                <tfoot id='MiaP9'></tfoot>

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

                  <legend id='MiaP9'><style id='MiaP9'><dir id='MiaP9'><q id='MiaP9'></q></dir></style></legend>
                • 本文介绍了确保 C++ 双精度为 64 位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在我的 C++ 程序中,我需要从外部字节序列中提取一个 64 位浮点数.有没有办法在编译时确保双打是 64 位?我应该使用其他类型来存储数据吗?

                  In my C++ program, I need to pull a 64 bit float from an external byte sequence. Is there some way to ensure, at compile-time, that doubles are 64 bits? Is there some other type I should use to store the data instead?

                  如果您正在阅读本文并且实际上正在寻找一种确保以 IEEE 754 格式存储的方法,请查看下面的 Adam Rosenfield 的回答.

                  If you're reading this and actually looking for a way to ensure storage in the IEEE 754 format, have a look at Adam Rosenfield's answer below.

                  推荐答案

                  对其他答案的改进(假设 char 是 8 位,标准不保证这一点......).应该是这样的:

                  An improvement on the other answers (which assume a char is 8-bits, the standard does not guarantee this..). Would be like this:

                  char a[sizeof(double) * CHAR_BIT == 64];
                  

                  BOOST_STATIC_ASSERT(sizeof(double) * CHAR_BIT == 64);
                  

                  您可以在 中找到定义的 CHAR_BIT.

                  You can find CHAR_BIT defined in <limits.h> or <climits>.

                  这篇关于确保 C++ 双精度为 64 位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:C++ 单精度和双精度混合计算的控制规则是什么? 下一篇:在 C++ 中存储类型

                  相关文章

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

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