c# - 二进制数转十进制(效果不好,为什么?)

标签 c# binary decimal

大家好! 我写了这个,但效果不好,这让我很恼火。我试图找到解决方案,但没有发现其中有任何错误。

    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被声明为公共(public)字符串[]:

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

如果有人能帮助我,我将不胜感激!

最佳答案

我不知道你的代码有什么问题,但你可以直接用 c# 来做到这一点。

Convert.ToInt32("10000000", 2).ToString(); // output  128

关于c# - 二进制数转十进制(效果不好,为什么?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899582/

相关文章:

c# - 如何查找存储在整数变量中的整数值的字节数

c# - 不存在从对象类型 System.Web.UI.WebControls.TextBox 到已知托管提供程序 native 类型的映射

python - 将 python 3 中的大列表保存到二进制文件

c# - 我正在尝试制作一个非常简单的程序,将十进制转换为二进制,但我需要将它们颠倒过来

c# - Interlocked.Exchange 可空十进制

c# - 十进制与双倍! - 我应该在什么时候使用哪一个?

c# - 如何将 Ctrl+,(控制加逗号)指定为 WPF 菜单项的键盘快捷键?

c# - linq 不会遍历列表

你能直接用 c 语言家族对表示为二进制数字的值进行编码吗?

html - 如何让 HTML5 数字字段显示尾随零?