コード例 #1
0
        // --------------------------------------------------- \\
        // ------------------Form Methods--------------------- \\
        // --------------------------------------------------- \\
        private void FormAnimationFlags_Load(object sender, EventArgs e)
        {
            Setup();

            txtInTransitionTime.Text = inTransitionTime.ToString();
            for (int i = 0; i < 8; i++)
            {
                chkFlags[i].Checked = flags.GetBit(i);
            }
        }
コード例 #2
0
        public void Bitset_Test()
        {
            //位 7654 3210
            //值 1001 1010
            ulong value = 2147483802; //2147483802 ‭10000000000000000000000010011010‬

            Assert.AreEqual(false, Bitset.GetBit(value, 0));
            Assert.AreEqual(true, Bitset.GetBit(value, 1));
            Assert.AreEqual(true, Bitset.GetBit(value, 4));
            Assert.AreEqual(true, Bitset.GetBit(value, 7));
            //index out of range
            Assert.AreEqual(false, Bitset.GetBit(value, 63));
            Assert.AreEqual(false, Bitset.GetBit(value, 64));
            Assert.AreEqual(false, Bitset.GetBit(value, 255));

            //set
            Bitset.SetBit(ref value, 5);// ‭2147483834‬ ‭10000000000000000000000010111010‬
            Assert.IsTrue(value == 2147483834);
            Assert.AreEqual(true, Bitset.GetBit(value, 5));

            //clear
            Bitset.ClearBit(ref value, 5);
            Assert.IsTrue(value == 2147483802);
            Assert.AreEqual(false, Bitset.GetBit(value, 5));


            //obj
            Bitset bb = new Bitset(2147483802);

            Assert.AreEqual(false, bb.GetBit(0));
            Assert.AreEqual(true, bb.GetBit(1));
            Assert.AreEqual(true, bb.GetBit(4));
            Assert.AreEqual(true, bb.GetBit(7));
            //index out of range
            Assert.AreEqual(false, bb.GetBit(63));
            Assert.AreEqual(false, bb.GetBit(64));
            Assert.AreEqual(false, bb.GetBit(255));
            //set
            bb.SetBit(5);// ‭2147483834‬ ‭10000000000000000000000010111010‬
            Assert.IsTrue(bb.Value == 2147483834);
            Assert.AreEqual(true, bb.GetBit(5));

            //clear
            bb.ClearBit(5);
            Assert.IsTrue(bb.Value == 2147483802);
            Assert.AreEqual(false, bb.GetBit(5));
        }