easy and fast way to convert an int to binary?

后端 未结 5 2087
[愿得一人]
[愿得一人] 2020-12-01 02:46

What I am looking for is something like PHPs decbin function in C#. That function converts decimals to its representation as a string.

For example, when

5条回答
  •  一整个雨季
    2020-12-01 03:25

    Most ways will be better and faster than the function that you found. It's not a very good example on how to do the conversion.

    The built in method Convert.ToString(num, base) is an obvious choice, but you can easily write a replacement if you need it to work differently.

    This is a simple method where you can specify the length of the binary number:

    public static string ToBin(int value, int len) {
       return (len > 1 ? ToBin(value >> 1, len - 1) : null) + "01"[value & 1];
    }
    

    It uses recursion, the first part (before the +) calls itself to create the binary representation of the number except for the last digit, and the second part takes care of the last digit.

    Example:

    Console.WriteLine(ToBin(42, 8));
    

    Output:

    00101010
    

提交回复
热议问题