# Binary to decimal - Four ways to convert formats in Matlab

In this article we're going to present four variations of a binary to decimal conversion in Matlab; we're going to convert binary numbers (numbers with
only symbols '0' and '1') to decimal numbers (numbers with 10 different symbols, from '0' to '9').

First, I'm going to show you a video explaining the general ideas behind a base conversion. Later, I'm going to show you the ideas to make it happen in Matlab.

As you may know, a number expressed in decimal format (the common way to express a number, also called base 10) consists of additions of digits raised to the different powers of 10.

For example:

1528 (base 10) means 1 x 103 + 5 x 102 + 2 x 101 + 8 x 100

Following the same reasoning, a binary number (called to be in base 2) consists of additions of binary digits raised to the different powers of 2. For example:

1010 (base 2) means 1 x 23 + 0 x 102 + 1 x 101 + 0 x 20

### 1st. Method: using the bin2dec function.

The 'bin2dec' built-in function converts a binary number string to a decimal number.

Example:

bin_nr = '110101';
dec = bin2dec(bin_nr)

The result is dec = 53.

### 2nd. Method: using a for-loop.

In the event that we cannot use the bin2dec function for any reason, we have to elaborate an alternative. In this case, we just follow the logic explained above: every digit found in the input string is obtained with every iteration and it is converted into a real number (in this case the input is a string, not a number, that's why we use the instruction 'str2num').

bin_nr = '110101';
dec = 0;
for i = 1 : length(bin_nr)
dec = dec + str2num(bin_nr(i)) * 2^(length(bin_nr) - i);

end
dec

As expected, the result is also dec = 53.

### 3rd. Method: using a while-loop.

Now, we make a small change in the logic to work with a while-loop instead of a for-loop, just for a variation. The idea is the same, but we have to add an index to keep track of the appropriate power of the digit to be considered. This binary to decimal conversion also includes input from the user:

bin_nr = input('Enter your binary number: ', 's');
dec = 0;
i = 1;

while i < length(bin_nr) + 1
dec = dec + str2num(bin_nr(i)) * 2^(length(bin_nr) - i);
i = i + 1;

end
dec

### 4rd. Method: using 'polyval'.

As seen in the articles about polynomials and curve fitting (see Table of Contents), the 'polyval' function with arguments (p, x) returns the value of a polynomial of degree n evaluated at x. The input argument p is a vector of length n+1 whose elements are the coefficients in descending powers of the polynomial to be evaluated. This is exactly what we need if the input is in vector form. In other words, the expected result is:

y = p1xn + p2xn-1 + ... + pnx + pn+1

And that's achieved this way:

bin_nr = [1 1 0 1 0 1];
dec = polyval(bin_nr, 2)

From 'Binary to decimal' to home

From 'Binary to decimal' to Matlab Programming

 Online Base Converter Dec-to-Bin conversion Gray Code Top

## Related pages

pascal trianglesunit impulse function examplesvswr smith chartbooks on matlabnodal analysis problemsnum to hexsine infinite serieslagrange interpolation matlabcalculus integral calculatorfactorial functionsrandn function in matlabnodal analysis problemsevaluate the integral calculatorwap to find factorial of a numberrecursive factorial programfit tool matlabpolyval matlabconverting octal to binaryconversion to binary numberswhat does piecewise meanplot arrow matlabmatlab bisection method examplebinomial online calculatorplot3d matlabprogram to generate fibonacci seriesread resistor valuessolve system of equations matlabbinary to hexadecimal tablemaclaurin series sintrapezium rule matlabmatlab fprintf tablebinomial distribution on calculatorc program pascal trianglesummation matlaboctet to decimalquadratic formula a b cmatlab scilaboctal numberingconversion de decimal a octalpiecewise defined function definitionrc time constant calculatorcartesian to polar conversionascii table enterfibonacci calculation formulamatriks gauss jordan4 bit binary to gray code converterpythagorean theorem calculator right trianglematlab diracmatlab loopsmatlab matrix inverseascii conversion tablecapacitor discharge graphdec to octalsolve matrix equation matlabmatlab calculatorrc circuit practice problemsthe prime factorization of 49fibonacci series examplescombinational logiccircle in matlabbinomial calculator onlineascii character tablepascal triangle using cfactorial program using functiondefine integer in matlabfill3 matlabinverse of matrix in matlabprogram factorialcode to convert decimal to binarycalculate fibonacci numbershow do you convert hexadecimal to binaryfibonacci numbers codebisection methodplotting 3d graphs in matlabsine function in matlabwrite a piecewise function