C#unsigned int 96位

时间:2012-07-12 14:38:44

标签: c# class int unsigned

你能帮我实现一个代表96位无符号整数的类吗?

我把这个类称为Flag96。

代码:

class Flag96
{
    private object array = new uint[3];

    public Flag96(uint a1, uint a2, uint a3)
    {
        uint[] _array = (uint[])array;

        _array[0] = a1;
        _array[2] = a2;
        _array[3] = a3;
    }
}

但是当我尝试使用它时:

public Flag96[] example;

它无效。 Microsoft定义的最大整数大小为64位,因此我需要一个新类。

1 个答案:

答案 0 :(得分:6)

decimal基本上是一个带有缩放因子的96位整数。使用decimal可能会有运气。除此之外......你需要像BigInteger

这样的东西

当然,给定名称Flag96:如果你只是将它用于标志(即按位而不是整数处理),那么ulong和{{1并排应该可以正常工作。只需选择适合您所追求的旗帜的字段和偏移量。