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(); }
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; }