## Convert integer to binary in C#

### Question

How to convert an integer number into its binary representation?

I'm using this code:

``````String input = "8";
String output = Convert.ToInt32(input, 2).ToString();
``````

But it throws an exception:

Could not find any parsable digits

2018/01/17
1
196
1/17/2018 10:48:05 AM

Your example has an integer expressed as a string. Let's say your integer was actually an integer, and you want to take the integer and convert it to a binary string.

``````int value = 8;
string binary = Convert.ToString(value, 2);
``````

Which returns 1000.

2010/06/02
371
6/2/2010 4:24:16 AM

Convert from any classic base to any base in C#

``````String number = "100";
int fromBase = 16;
int toBase = 10;

String result = Convert.ToString(Convert.ToInt32(number, fromBase), toBase);

// result == "256"
``````

Supported bases are 2, 8, 10 and 16

2018/04/18

Very Simple with no extra code, just input, conversion and output.

``````using System;

namespace _01.Decimal_to_Binary
{
class DecimalToBinary
{
static void Main(string[] args)
{
Console.Write("Decimal: ");

int remainder;
string result = string.Empty;
while (decimalNumber > 0)
{
remainder = decimalNumber % 2;
decimalNumber /= 2;
result = remainder.ToString() + result;
}
Console.WriteLine("Binary:  {0}",result);
}
}
}
``````
2012/01/14

http://zamirsblog.blogspot.com/2011/10/convert-decimal-to-binary-in-c.html

``````    public string DecimalToBinary(string data)
{
string result = string.Empty;
int rem = 0;
try
{
if (!IsNumeric(data))
error = "Invalid Value - This is not a numeric value";
else
{
int num = int.Parse(data);
while (num > 0)
{
rem = num % 2;
num = num / 2;
result = rem.ToString() + result;
}
}
}
catch (Exception ex)
{
error = ex.Message;
}
return result;
}
``````
2011/10/24

primitive way:

``````public string ToBinary(int n)
{
if (n < 2) return n.ToString();

var divisor = n / 2;
var remainder = n % 2;

}
``````
2016/01/07

`Convert.ToInt32(string, base)` does not do base conversion into your base. It assumes that the string contains a valid number in the indicated base, and converts to base 10.

So you're getting an error because "8" is not a valid digit in base 2.

``````String str = "1111";
String Ans = Convert.ToInt32(str, 2).ToString();
``````

Will show `15` (1111 base 2 = 15 base 10)

``````String str = "f000";
String Ans = Convert.ToInt32(str, 16).ToString();
``````

Will show `61440`.

2010/06/02