Exemple #1
0
        public void Test_HighestOneBit_Int64()
        {
            assertEquals(0x08L, BitOperation.HighestOneBit(0x0AL));
            assertEquals(0x08L, BitOperation.HighestOneBit(0x0BL));
            assertEquals(0x08L, BitOperation.HighestOneBit(0x0CL));
            assertEquals(0x08L, BitOperation.HighestOneBit(0x0FL));
            assertEquals(0x80L, BitOperation.HighestOneBit(0xFFL));

            assertEquals(0x080000L, BitOperation.HighestOneBit(0x0F1234L));
            assertEquals(0x800000L, BitOperation.HighestOneBit(0xFF9977L));

            assertEquals(unchecked ((long)0x8000000000000000L), BitOperation.HighestOneBit(unchecked ((long)0xFFFFFFFFFFFFFFFFL)));

            assertEquals(0L, BitOperation.HighestOneBit(0L));
            assertEquals(1L, BitOperation.HighestOneBit(1L));
            assertEquals(unchecked ((long)0x8000000000000000L), BitOperation.HighestOneBit(-1L));
        }
Exemple #2
0
        public void Test_HighestOneBit_Int32()
        {
            assertEquals(0x08, BitOperation.HighestOneBit(0x0A));
            assertEquals(0x08, BitOperation.HighestOneBit(0x0B));
            assertEquals(0x08, BitOperation.HighestOneBit(0x0C));
            assertEquals(0x08, BitOperation.HighestOneBit(0x0F));
            assertEquals(0x80, BitOperation.HighestOneBit(0xFF));

            assertEquals(0x080000, BitOperation.HighestOneBit(0x0F1234));
            assertEquals(0x800000, BitOperation.HighestOneBit(0xFF9977));

            assertEquals(unchecked ((int)0x80000000), BitOperation.HighestOneBit(unchecked ((int)0xFFFFFFFF)));

            assertEquals(0, BitOperation.HighestOneBit(0));
            assertEquals(1, BitOperation.HighestOneBit(1));
            assertEquals(unchecked ((int)0x80000000), BitOperation.HighestOneBit(-1));
        }