简体   繁体   English

C# 十进制转二进制

[英]C# Decimal To Binary

I'm learning little by little with your help.在您的帮助下,我正在一点一点地学习。 Thank you always.永远感谢你。

i have a question.我有个问题。 i know how to convert Decimal To binary ( convert.Tostring(2, 2); ) but result is 0010.我知道如何将十进制转换为二进制( convert.Tostring(2, 2); )但结果是 0010。

i want these result 0000 0010.我想要这些结果 0000 0010。

how can i convert this way??我怎么能这样转换?

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);
    }

I'm always grateful to everyone who helps me.我总是感谢所有帮助我的人。

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

Use an auxiliary method to convert numbers to binary form使用辅助方法将数字转换为二进制形式

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]));
}

Convert method for numbers to binary将数字转换为二进制的方法

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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM