C# 的十进制类型在 C++ 中的等价物是什么?

1 c# c++ decimal

我喜欢decimal我的许多 C# 程序,并且想尝试其他 C 语言。

\n

我用 C# 编写了这段代码:

\n
using System;\n\ndecimal get_pi();\n\nint main() {\n    Console.WriteLine("Give a number ranging from 1-100: ");\n    decimal num = Console.ReadLine();\n    Console.Write("Algebraic Equivalent: ");\n    if (num >= get_pi()) {\n        Console.WriteLine("\xcf\x80");\n    } else {\n        Console.WriteLine(num);\n    }\n    // Currently updating the program for giving algebraic equivalents\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我想用C++重写它。

\n

我意识到在 C 和 C++ 中,它们没有与decimal类型完全等效的类型,最好使用的是double,但事实上decimalC 中实际上有一个受支持的类型(基于是否有 C# 的 C 等效项)的十进制类型?),这让我很好奇 C++ 中是否也有等价的类型。

\n

decimalC++ 中是否有等效的 C#类型,或者是double最佳选择?

\n

Nic*_*rey 6

虽然我相信有一个提案,但没有。

\n

但是,如果您导航到IBM 研究员 Mike Cowlishaw 的页面General Decimal Arithmetic,您将

\n
    \n
  • 关于 \xe2\x80\x94 这个主题,他的知识比你想知道的还要多,他几乎编写了十进制浮点的 IEEE 754 规范 \xe2\x80\x94 和
  • \n
  • 获取其ANSI C 实现的链接
  • \n
\n

就其价值而言,.Net 源代码是开源的并且位于 Github 上。如果您想System.Decimal从 C# 移植到 C++,可以从这里开始:

\n\n