【发布时间】:2012-10-20 22:16:06
【问题描述】:
好的,我知道这是不可能的,但这是制定问题标题的最佳方式。问题是,我正在尝试使用我自己的自定义类而不是浮点数(用于确定性模拟),并且我希望语法尽可能接近。所以,我当然希望能够写出类似
的东西FixedPoint myNumber = 0.5f;
有可能吗?
【问题讨论】:
-
只是为了确保:您知道 C# 已经包含一个名为 decimal 的固定精度数据类型?
-
@Heinzi:
decimal仍然是浮点类型。它只使用 128 位而不是 32/64 和十进制指数而不是二进制。 -
@Joren:当然,很抱歉,我试图简洁。我的意思是:“如果您使用自定义定点数据类型来避免通常与二进制浮点数据类型相关的舍入问题,您可以考虑改用 decimal,即能够准确地表示十进制浮点数。如果您已经考虑并拒绝了该选项,请忽略此评论。”
-
@Heinzi 十进制应该比整数数学慢(我的定点本质上是)。
-
@golergka:啊,好吧,有道理!
标签: c# overloading operator-keyword