Exemplo n.º 1
0
        public Returnstack convertTo(String wert)
        {
            if(!this.analyse (wert)){
                Returnstack result = new Returnstack("Falsche Syntax!\nEs sind nur die Zeichen '0-9' und ',' erlaubt.");
                result.addStep("Analyse ergabe Fehler in der Syntax.");
                return result;
            }
            this.getParts (wert);

            String[] splited = wert.Split (',');
            Returnstack erg = new Dezimal ().convertToBin (splited [0]);
            if (this.parts == 2) {

                Double zwerg = Double.Parse ("0," + splited [1]);
                erg += ",";
                while (zwerg!=1) {
                    zwerg = zwerg * 2;
                    if (zwerg > 1) {
                        zwerg -= 1;
                        erg += "1";
                    } else {
                        if (zwerg == 1) {
                            erg += "1";
                            break;
                        }
                        erg += "0";
                    }
                }
            }

            return erg;
        }
Exemplo n.º 2
0
        public Returnstack convertTo(String wert)
        {
            Returnstack result = new Returnstack ();

            if (!this.analyse (wert)) {
                result = new Returnstack ("Falsche Syntax!\nEs sind nur die Zeichen '0-9' und '-' erlaubt.");
                result.addStep ("Analyse ergabe Fehler in der Syntax.");
                return result;
            }

            Returnstack dezimal = new Dezimal ().convertToBin (wert);

            String steps = "";
            for (int i = 0; i< dezimal.getSteps().Length; i++) {
                steps += dezimal.getSteps () [i] + "|";
            }

            if (wert [0] == '-') {
                wert = wert.Remove (0, 1);
                result.setResult ("1" + new Dualoperationen ().invert (dezimal.getResult ()));

            } else {
                result.setResult (dezimal.getResult ());
            }

            result.addStep (steps);
            return result;
        }
Exemplo n.º 3
0
 public Returnstack convertToBin(String zahl)
 {
     Returnstack result = new Returnstack();
     Returnstack interimresult = convertToDez (zahl);
     result.addStep("In Dezimal umwandeln.\n");
     result+=interimresult;
     result.addStep("Zwischenergebnis: " + interimresult.getResult ());
     interimresult = new Dezimal().convertToBin(interimresult.getResult());
     result.addStep("\n Von Dezimal in Binaer umwandeln.\n");
     result+=interimresult;
     result.setResult(interimresult.getResult());
     return result;
 }
        public Returnstack convertTo(String wert)
        {
            Returnstack result = new Returnstack ();

            if (!this.analyse (wert)) {
                result = new Returnstack ("Falsche Syntax!\nEs sind nur die Zeichen '0-9' und '-' erlaubt.");
                result.addStep ("Analyse ergabe Fehler in der Syntax.");
                return result;
            }

            if (wert [0] == '-') {
                wert = wert.Remove (0, 1);
                result += "1";
            }
            result += new Dezimal ().convertToBin (wert);
            return result;
        }
        private Returnstack convert(String type)
        {
            Returnstack convert = new Returnstack ();
            convert.addStep ("Prüfen der ausgangs Parameter;");

            if (wert == "") {
                convert.setResult ("Kein Wert");
                return convert;
            }
            if (bias == "") {
                convert.setResult ("Missing Bias");
                return convert;
            }
            if (new Regex ("[^0-9]").Match (this.bias).Success) {
                convert.setResult ("Wrong Syntax");
                return convert;
            }

            switch (type) {

                case "to":
                    if (new Regex ("[^0-9\\-]").Match (this.wert).Success) {
                        convert.setResult ("Wrong Syntax");
                        return convert;
                    }

                    String erg = ((int)(Double.Parse (wert) + Double.Parse (bias))).ToString ();
                    convert = new Dezimal ().convertToBin (erg);
                    return convert;

                case "from":

                    if (new Regex ("[^0-1]").Match (this.wert).Success) {
                        convert.setResult ("Wrong Syntax");
                        return convert;
                    }

                    convert = new Binaer ().convertToDez (wert);
                    convert.setResult (((int)(Double.Parse (convert.getResult ()) - Double.Parse (bias))).ToString ());
                    return convert;
                default :
                    return convert;
            }
        }
Exemplo n.º 6
0
        public Returnstack convertTo(String wert)
        {
            if (!this.analyse (wert)) {
                Returnstack result = new Returnstack ("Falsche Syntax!\nEs sind nur die Zeichen '0-9' und '-' erlaubt.");
                result.addStep ("Analyse ergabe Fehler in der Syntax.");
                return result;
            }

            int vorzeichen = 0;
            if (wert [0] == '-') {
                wert = wert.Remove (0, 1);
                vorzeichen = 1;
            }
            Returnstack convert = new Dezimal ().convertToBin (wert) ;

            if(vorzeichen == 1){
                convert.setResult( "1" + new Dualoperationen ().addieren (new Dualoperationen ().invert (convert.getResult ()), "1"));
            } else {
                convert.setResult( "0" + convert.getResult ());
            }
            return convert;
        }