什么';这是C++;相当于C#和#x27;什么是十进制?
我喜欢在我的许多C#程序中使用什么';这是C++;相当于C#和#x27;什么是十进制?,c#,c++,decimal,C#,C++,Decimal,我喜欢在我的许多C#程序中使用decimal,我想在其他C语言中试用它 我用C#写了这段代码: >我想用C++重写。 我意识到C++和C++中,它们都没有精确的等价于十进制< /代码>类型,并且最好使用的是双,但是实际上C中有一个支持的十进制< /代码>类型,如果C++中也有一个等价物,我会感到好奇。 C++中是否有C<代码>十进制< /代码>类型,或者是双< /代码>?最好的选择是? 没有,尽管我相信有一个建议。 但如果您导航到IBM同事页面,您将 了解比你想知道的更多关于这个主题的知识
decimal
,我想在其他C语言中试用它
我用C#写了这段代码:
<> >我想用C++重写。
<>我意识到C++和C++中,它们都没有精确的等价于<代码>十进制< /代码>类型,并且最好使用的是C++中是否有C<代码>十进制< /代码>类型,或者是<代码>双< /代码>?最好的选择是?
没有,尽管我相信有一个建议。 但如果您导航到IBM同事页面,您将- 了解比你想知道的更多关于这个主题的知识-他几乎编写了十进制浮点的IEEE 754规范-以及
- 获取一个链接到它的
decimal
类型实际上只是一种所谓的任意精度浮点,其单词“任意”用一个固定值切换出来,可以在its中查找(已通过链接)。它是28个有效数字
至少C++20的标准库中不包括任意精度浮点,但有相当多的库包含该功能。C#的decimal
也是.NET库的一部分,严格来说,它也是一个库,而不是语言本身的一部分(但紧密耦合)
<支持C++的任意精度浮点库的例子包括:
- GNU GMP
- Boost的多精度库
- CLN的
长浮点数
- Henrik Vestermark的
那么不,没有直接等价物-取决于使用情况。浮点精度
将“更接近”,具体取决于实现。(这可能是一个扩展…)c#中的十进制是一种浮动十进制,而不是浮动二进制类型。检查C++中是否存在浮点十进制类型。这可能是等效的。Boost multiprecision具有更高精度的浮点类型,您可以使用:@janzen包括FLT_基数,因此符合要求的实现可以使用十进制长双精度
浮点
和
双精度
using System; decimal get_pi(); int main() { Console.WriteLine("Give a number ranging from 1-100: "); decimal num = Console.ReadLine(); Console.Write("Algebraic Equivalent: "); if (num >= get_pi()) { Console.WriteLine("π"); } else { Console.WriteLine(num); } // Currently updating the program for giving algebraic equivalents }