2

みんな!私はこれを書きましたが、うまく機能せず、イライラしています。解決策を見つけようとしましたが、エラーは見つかりませんでした。

    private string binaris_decimalis(string binaris_szam)
    {
        char[] binaris_karakterek = binaris_szam.ToCharArray();

        int decimalis_szam_int = 0;
        string decimalis_szam;

        for (int szam = 0; binaris_karakterek.Length > szam; szam++)
        {
            decimalis_szam_int = decimalis_szam_int * 2 + Convert.ToInt32(binaris_karakterek[szam]);
        }

        decimalis_szam = Convert.ToString(decimalis_szam_int);

        return decimalis_szam;
    }

次のように使用します。

    private void valtas_2_Click(object sender, EventArgs e)
    {
        binaris_szam_2 = binaris_2.Text.Split('.');

        for (int szam = 0; 4 > szam; szam++)
        {
            decimalis_szam_2[szam] = binaris_decimalis(binaris_szam_2[szam]);
        }

        decimalis_2.Text = decimalis_szam_2[0] + "." + decimalis_szam_2[1] + "." + decimalis_szam_2[2] + "." + decimalis_szam_2[3];
    }

binaris_szam_2 および decimalis_szam2 は、パブリック文字列 [] として宣言されています。

string[] binaris_szam_2 = new string[4];
string[] decimalis_szam_2 = new string[4];

テキスト入力は次のようになります。

10000000.10000000.10000000.10000000

テキスト出力は次のようになります。

128.128.128.128

しかし、出力は次のとおりです。

12368.12368.12368.12368

誰かが私を助けてくれたらありがたいです!

4

1 に答える 1

3

私はあなたのコードの何が悪いのかわかりませんが、c#で直接これを行うことができます。

Convert.ToInt32("10000000", 2).ToString(); // output  128
于 2013-02-15T17:02:28.263 に答える