示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Problema: Numere intregi Uints64 transformate in reprezentare binara. Lucru cu biti");
            try
            {
                Console.WriteLine("Introduceti un numar intreg pozitiv");
                string     input = Console.ReadLine();
                ulong      nr1   = ulong.Parse(input);
                BitArray64 bit   = new BitArray64(nr1);
                int[]      b     = bit.BitToArray();
                foreach (var item in b)
                {
                    Console.Write(item);
                }
                Console.WriteLine();
                Console.WriteLine("__________________________");
                int nrVerif1 = InputIndex();
                int nrVerif2 = InputIndex();
                Console.WriteLine(b[nrVerif1] == b[nrVerif2]);
                Console.WriteLine("Introduceti un numar intreg pozitiv");
                string     input2 = Console.ReadLine();
                UInt64     nr2    = UInt64.Parse(input2);
                BitArray64 bit2   = new BitArray64(nr2);
                int[]      b2     = bit2.BitToArray();
                foreach (var item in b2)
                {
                    Console.Write(item);
                }
                Console.WriteLine($"Verificare egalitate dintre numere, prin compararea bitilor: {bit.Equals(bit2)}");
            }
            catch (FormatException e)
            {
                Console.WriteLine("Value is not in corect format");
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }
            catch (OverflowException e)
            {
                Console.WriteLine("Value is either too large or too small for a UInt64");
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine("Index out of Bounds");
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }
            catch (Exception e)
            {
                Console.WriteLine("System exception");
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }

            finally
            {
                Console.WriteLine("_______________________________________________");
                Console.WriteLine("Programul nu a fost executat din cauza unor erori aparute pe parcursul executiei");
            }

            Console.ReadLine();
        }
示例#2
0
 public override bool Equals(Object _bit)
 {
     BitArray64 bit = _bit as BitArray64;            
     
     for (int i=0; i<63; i++)
     {
         if (this[i] != bit[i]) return false;
     }
     return true;
 }