如何在C 中同时将32位和64位漂浮
How to have both 32bit and 64bit float in C++
i有一个文件规格(这里:http://www.septentrio.com/secure/secure/asterx1v_2_1/sbf Reference Guide.pdf),具有标记为32位的字段和64位浮子(请参阅第8页)。如何在程序中使用两个宽度?我现在正在Mac OSX上开发,但也将在Linux机器上部署。
更多详细信息:
我知道我可以告诉编译器宽度,但是我如何区分两个不同的浮子宽度?也许有人也有一个建议改变我解析的方式,即重新interpret_cast(buffer offset),然后使用这些值。这些文件大小很大(4GB),所以我需要性能。
这似乎很明显,但是:
在英特尔平台上,许多其他float
是32位浮点值,double
为64位浮点值。尝试这种方法。
如果您的编译器允许,请确保在程序开始时或在编译过程中静态检查类型的大小。
再次尝试简单的解决方案。
float和double算术都在英特尔上实现,并且很快。无论如何,本地算术是您可以从CPU获得的最快的。
ieee 754(http://en.wikipedia.org/wiki/ieee_floating_point)定义不是一种浮点格式,而是几个,例如4、8、16字节等。它们都有不同的范围和精度所有仍然是IEEE值。
相关文章:
- 将应用程序从32位移植到64位时出现问题
- qmake:检测目标位宽(32 位或 64 位)
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 浮点数为 32 位和 64 位二进制表示形式
- 如何在 64 位平台上计算 32 位哈希C++?
- 制定目标需要32和64位的DLL构建
- 在32、64位正确存储容器大小
- 如何将 32 位有符号整数放入更高的 32 位 64 位无符号整数中
- 与同时32和64位客户端同时使用Process COM服务器
- C++使用 MSI 自动化 API 32 和 64 位的应用程序
- 算法C/C++:用n和d 32或64位整数计算(2^n)%d的最快方法
- 32位- 64位进程间通信
- visual c++ Windows Shell Extensions - Win7 32位- 64位兼容性问题
- 如何在运行的C++/Qt应用程序中检测底层Windows是否为32或64位版本
- 正确(独立于32位/64位)将浮点数保存为二进制流
- 32 位 64 位 - 警告:右移计数 >= 32 位计算机上的类型宽度
- 澄清:移植32到64位
- 使用C++检测Windows体系结构(32或64位)-wProcessorArchitecture显示错误的结果
- 如何编写可转换代码,32位/64位
- c++:如何在Windows 32和64位获取最新的Java路径