加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:44:32 所属栏目:百科 来源:网络整理
导读:下午好, 这可能听起来像一个愚蠢的问题,但如果有这样一个方法,这将是非常有用的…有什么办法可以在C#中获得定制的位深度整数(例如,20位整数)? 非常感谢你. 解决方法 好问题.大多数情况下,答案将取决于您需要做什么. 我在几年前做过类似的事情,保持了学校的
下午好,

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

非常感谢你.

解决方法

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

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

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

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

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

只是spitballing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读