C++十进制数据类型

2021-12-25 00:00:00 floating-point decimal types double c++

有没有办法在我的 C++ 程序中使用十进制数据类型,例如 decimal32decimal64decimal128?

Is there a way to use decimal data types such as decimal32, decimal64 or decimal128in my C++ programs?

推荐答案

Decimal TR 并非为所有编译器实现.一些编译器,例如 gcc,实现了 C Decimal TR 并在 C++ 中提供相应的扩展.过去有一个可用的 C++ Decimal TR 的开源实现,但我没有找到它.如果您的编译器不支持十进制类型,您最好的选择可能是为 IBM 的 decNumber 库创建一个包装器.

The classes from the Decimal TR are not implemented for all compilers. Some compilers, e.g., gcc, implement the C Decimal TR and provide the corresponding extensions in C++, too. In the past there was an open source implementation for the C++ Decimal TR available but I failed to locate it. If your compiler doesn't support the decimal types, your best option is probably to create a wrapper for IBM's decNumber library.

为了改善 C++ 未来的情况,我创建了一个 计划更新 TR,我将把当前的 TR 变成一个完整的提案,为下一次 C++ 委员会会议(4 月在布里斯托尔举行)做好准备,试图让它被采纳C++ 标准,可能进入 2014 年计划的修订版.我的实现是我日常工作的一部分,我不能决定它是否可以公开使用,尽管有一些希望它可以开源在某个时候.

To improve the situation in the future of C++, I have created a plan to update the TR and I'm going to turn the current TR into a complete proposal ready for the next C++ committee meeting (in April in Bristol), trying to get it adopted into the C++ standard, possibly into the revision planned for 2014. The implementation I have is part of my regular work and it isn't up to me to decide whether it is can be made available publically although there is some hope that it can be open sourced at some point.

相关文章