C#十进制转二进制

C# Decimal To Binary

在您的帮助下,我正在一点一点地学习。 永远谢谢你。

我有一个问题。 我知道如何将十进制转换为二进制 ( convert.Tostring(2, 2); ) 但结果是 0010.

我想要这些结果 0000 0010。

如何转换成这种方式??

static byte[] gbuff = new byte[1000];
...

string[] rxData = new string[31]

.....

    for(int x=0; x<31; x++)
    {
        rxData[x] = Convert.Tostring(gbuff[x], 2);
    }

我永远感谢所有帮助过我的人。

Convert.ToString(2, 2).PadLeft(8, '0');

使用辅助方法将数字转换为二进制形式

static byte[] gbuff = new byte[1000];
...

string[] rxData = new string[31]
.....

for(int x=0; x<31; x++)
{
    rxData[x] = convertNumToBinary(Convert.ToInt32(gbuff[x]));
}

将数字转换为二进制的方法

public string convertNumToBinary(int num)
{
    bool flag = true;
    Stack<int> myStack = new Stack<int>();
    while (flag)
    {
        int remaining = num % 2;
        myStack.Push(remaining);

        num = num / 2;


        if (num == 1)
        {
            flag = false;
            myStack.Push(num);
        }
    }

    string s = "";
    int len = myStack.Count;
    for (int i = 0; i < len; i++)
    {
       s += myStack.Pop();
    }
    
    while(s.Length < 8)
    {
       s = "0" + s;
    }
    return s;
}