/// <summary>
        /// Конструктор класса
        /// </summary>
        /// <param name="reversBinaryNumber">Бинарное число в прямом коде</param>
        public AdditionalBinaryNumber(DirectBinaryNumber dirBinNumb)
        {
            if (dirBinNumb.Sign() == '0')
                this._code = dirBinNumb.Code;
            else
            {
                char[] revCode = new ReversBinaryNumber(dirBinNumb).Code;
                char[] one  = new[] {'0','0','0','0','0','0','0','1'};

                this._code = Additional(revCode, one);
            }
        }
        /// <summary>
        /// Сложение бинарного числа в прямом коде с бинарным числом в прямом коде
        /// </summary>
        /// <param name="number">Число, которое прибавляется к данному</param>
        /// <returns>При переполнении возвращает false, иначе true</returns>
        public override bool Add(DirectBinaryNumber number)
        {
            if (this.Sign() == number.Sign())                    //Знаки одинаковые - складываем
            {
                int transfer = 0;
                char[] result = Additional(_code, number.Code, out transfer);//Складываем

                if (transfer != 1)
                    _code = result;
                else
                    return false;
            }
            else                                                 //Знаки разные - Вычитаем
            {
                if (this.MoreModule(number))                              //Находим большее по модулю число
                    _code = Substraction(_code, number.Code);       //Из первого вычитаем второе
                else
                    _code = Substraction(number.Code, _code);       //Из второго вычитаем первое

                _code[0] = this.signOfNumberMoreByModule(number, this);// Получаем знак результата
            }
            return true;
        }
 /// <summary>
 /// Знак числа большего по модулю
 /// </summary>
 /// <param name="number1">Число 1</param>
 /// <param name="number2">Число 2</param>
 /// <returns>Знак числа большего по модулю, если числа равны то возвращает знак второго</returns>
 private char signOfNumberMoreByModule(DirectBinaryNumber number1, DirectBinaryNumber number2)
 {
     if (number1.MoreModule(number2))
         return number1.Sign();
     else
         return number2.Sign();
 }