关于C#中“自定义”整数的一个可能愚蠢的问题

前端之家收集整理的这篇文章主要介绍了关于C#中“自定义”整数的一个可能愚蠢的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
下午好,

这可能听起来像一个愚蠢的问题,但如果有这样一个方法,这将是非常有用的…有什么办法可以在C#中获得定制的位深度整数(例如,20位整数)?

非常感谢你.

解决方法

好问题.大多数情况下,答案将取决于您需要做什么.

我在几年前做过类似的事情,保持了学校的研究项目.我们有一个自定义的整数类型,尽管它不一定由位深度本身定义.这是一个素材因素(有余数).这对于它应该做什么来说非常方便,这是多重和分割非常大的数字.加法和减法非常差.

还有许多其他“定制”数字实现,一个非常常见的一个是自定义固定点表示(通常在游戏中实现确定性物理模拟时看到).关于这个问题可能有一些很好的溢出帖子.这些将是一个很好的开始,了解如何抽象,然后实现自定义数字表示.

如果您设置为可变位深度整数表示,请考虑包装内部表示.一种可能性是使用IEnumerable< byte>并随着其幅度的增加逐字节地扩展.编写适合动态范围的运算符.这可能不一定是最合适的表现形式或最具表现力的形式,但它可能是最简单的.

另一个可能的解决方案可能是做类似的事情,但是用“ulong”.不如空间有效,但是我们受益于64位操作.

只是spitballing

猜你在找的C#相关文章