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

下午好,

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

非常感谢你.

解决方法

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

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

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

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

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

只是spitballing

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...