微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

下午好,

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

非常感谢你.

解决方法

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

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

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

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

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

只是spitballing

原文地址:https://www.jb51.cc/csharp/93866.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐