2016-09-08 7 views
-1

異なる番号システムを変換するアプリケーションを作成しようとしています。以下のコードでは、残りが "0"か "1"かどうかを確認します。プログラムの場合は、結果の文字列に "0"または "1"を追加する必要がありますbinaer。それは動作しないと私は本当に理由が分からない。変数を使用するC#で文字列を使用する関数 ".insert(int startIndex、string value)"を使用

public void dezinbin(int dez) { 
    var binaer = "";  // erstellt den leeren Ausgabestrang 
    var platzhalter = dez;     //Platzhalter für dez, da des nicht verändert werden kann 

    for (var i = 0; i<16; i++){ 
     var binarrest = platzhalter % 2; //teilt dez durch 2 und speichert den rest in binaerrest 
     platzhalter = platzhalter/2;   //verringert die dez-Eingabe um die hälfte 
     if (binarrest == 0) //hängt den binaerrest jeweils an den Anfang des Ausgabestrings 
     { 
      binaer.Insert(0, "0"); 
     } 
     else 
     { 
      binaer.Insert(0, "1"); 
     } 
        } 
    this.bin = binaer; //gibt den Ausgabestring zurück 
} 
+2

「動作しない」と定義してください。それはクラッシュしますか?間違いはありますか?それは実行されますが、間違った結果を与えるか? – Jason

+0

さらに、C#にはこの変換を処理する関数が組み込まれています:http://stackoverflow.com/questions/2954962/decimal-to-binary-conversion-in-c – Jason

答えて

1

この構文を使用してくださいしてみてください.Insert(0、 "0");

インサートは "バイナ"自体を変更していないためです。

+0

完璧、それは間違いでした。 ありがとう – Fabian

1

「0」または「1」を文字列binaerに追加したいと思いますか?

binaer = binaer:あなたはあなたが前にそれを入れたい場合は

binaer += "1" 

を試し末尾に追加したい場合は

、その後、

binaer = "1" + binaer; 
0

試してみてください binaer + = "0"; の代わりに binaer.Insert(0、 "0");

などなど。

関連する問題