コード例 #1
0
ファイル: Rol1CopyTest.cs プロジェクト: tedd/Tedd.BitUtils
        public void TestUInt64()
        {
            UInt64 v = 1;

            for (var i = 0; i < (sizeof(UInt64) * 8) - 1; i++)
            {
                v = v.RolCopy();
                var a = (UInt64)((UInt64)1 << (i + 1));
                _output?.WriteLine(Convert.ToString((Int64)a, 2).PadLeft(64, '0') + " == " + Convert.ToString((Int64)v, 2).PadLeft(64, '0'));
                Assert.Equal(a, v);
            }

            v = v.RolCopy();
            _output?.WriteLine(Convert.ToString(1, 2).PadLeft(64, '0') + " == " + Convert.ToString((Int64)((UInt64)v), 2).PadLeft(64, '0'));
            Assert.Equal((UInt64)1, (UInt64)(UInt64)v);
        }