public SignedBinInt Negate(SignedBinInt signedBinaryInteger)
        {
            //string toBeNegated = signedBinaryInteger.StoredInput;
            //string result = this.NegateBin(toBeNegated);

            //signedBinaryInteger.ReverseSign();
            //signedBinaryInteger.StoredInput = result;

            //return signedBinaryInteger;
            throw new NotImplementedException();
        }
        public SignedBinInt Convert(SignedDecInt signedDecInteger)
        {
            uint inputNumber = signedDecInteger.GetUnsignedNumber();
            int size = signedDecInteger.allowedNumberOfBits;
            SignedBinInt signedBin;

            if (inputNumber >= 0)
            {
                DecInt dec = new DecInt(inputNumber,size);
                ConverterToBin binConvert = new ConverterToBin();
                BinInt bin = binConvert.Convert(dec);
                signedBin = new SignedBinInt(Constants.POSITIVE, bin.StoredInput, bin.allowedNumberOfBits);
                return signedBin;
            }
            else
            {

                string negBinRepresentation = this.decToBinNeg(inputNumber, size);
                signedBin = new SignedBinInt(Constants.NEGATIVE, negBinRepresentation, size);
            }

            return signedBin;
        }