Convert Decimal to Binary |
Navigation |
|
|
Convert Decimal to Binary
The Decimal or "denary" counting system uses the Base of 10 numbering system where
each digit in a number takes on one of ten possible values from 0 to 9,
eg 21310 (Two Hundred and Thirteen). In a decimal system each digit has a
value ten times greater than its previous number and this decimal numbering system uses a set of symbols,
b, together with a base, q, to determine the weight of
each digit within a number. For example, the six in sixty has a lower weighting than the six in six hundred
and in a binary numbering system we need some way of converting Decimal to Binary.
Any numbering system can be summarised by the following relationship:
| |
N = bi qi |
| |
where: |
N is a real positive number
b is the symbol
q is the base value
and integer (i) can be positive, negative or zero |
N = b2 q2 + b1 q1
+ b0 q0 + b-1 q-1 ... etc. |
In the decimal or denary system, the columns have values of units, tens, hundreds etc as we move
from right to left and mathematically these values are written as 100, 101, 102,
103 etc. The decimal numbering system has a base of 10 or modulo-10 (sometimes called MOD-10) with
the position of each digit in the decimal system indicating the magnitude or weight of the number. For example, 20
(twenty) is the same as saying 2 x 101 and 400 (four hundred) is the same as saying 4 x 102.
Likewise, for fractional numbers the weight of the number is negative, 10-1, 10-2, 10-3 etc.
The value of a decimal number is equal to the sum of the digits multiplied by their respective
weights. For example: N = 616310
(Six Thousand One Hundred and Sixty Three) in a decimal format is equal to:
(6×103) + (1×102) +
(6×101) + (3×100) = 6163
Unlike the decimal numbering system which uses the base of 10, digital logic uses just two values
or states, a logic level "1" or a logic level "0", so each "0" and "1" is considered to be a single digit in a
Base of 2 or Binary numbering system. In the binary numbering system, each digit has a value twice that
of the previous digit but can only have a value of either "1" or "0" therefore, q = "2" and
the position of either a "0" or a "1" indicates its weight.
For example:
| Decimal Digit Value |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
| Binary Digit Value |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
By adding together all the decimal number values from right to left at the positions that are
represented by a "1" gives us: (256) + (64) + (32) + (4) + (1) =
35710 or three hundred and fifty seven in decimal.
Then, the binary array of digits 1011001012 is equivalent
to 35710 in decimal or denary. As the decimal number is a
weighted number, converting from decimal to binary will also produce a weighted binary number with the right-hand
most bit being the Least Significant Bit or LSB, and the left-hand most bit being the
Most Significant Bit or MSB. and we can represent these as.
| MSB | Binary Digit | LSB |
| 28 | 27 | 26 |
25 | 24 | 23 | 22 |
21 | 20 |
| 256 | 128 | 64 | 32 |
16 | 8 | 4 | 2 | 1 |
Repeated Division-by-2 Method
Another method of converting Decimal to Binary number equivalents is to write down the decimal
number and to continually divide by 2 (two) to give a result and a remainder of either a "1" or a "0" until the final
result equals zero.
Example. Convert the decimal number 29410
into its binary number equivalent.
| Number |
294 |
|
|
|
Dividing each number by "2" gives a result plus a remainder. The binary result is
obtained by placing the remainders in order with the least significant bit (LSB) being at the top and the most
significant bit (MSB) being at the bottom.
|
| divide by 2 |
| result | 147 | remainder | 0 (LSB) |
| divide by 2 |
| result | 73 | remainder | 1 |
| divide by 2 |
| result | 36 | remainder | 1 |
| divide by 2 |
| result | 18 | remainder | 0 |
| divide by 2 |
| result | 9 | remainder | 0 |
| divide by 2 |
| result | 4 | remainder | 1 |
| divide by 2 |
| result | 2 | remainder | 0 |
| divide by 2 |
| result | 1 | remainder | 0 |
| divide by 2 |
| result | 0 | remainder | 1 (MSB) |
Then, the decimal to binary conversion gives the decimal number 29410 equivalent
of 1001001102 in binary, reading from right to left.
Then the main characteristics of a Binary Numbering System is that each "digit" or "bit"
has a value of either "1" or "0" with each digit having a weight or value
double that of its previous bit starting from the lowest or least significant bit (LSB) and this is called the "sum-of-weights"
method. So we can convert a decimal number to binary either by using the sum-of-weights method or by using the repeated
division-by-2 method.
Binary Number Names & Prefixes
Binary numbers can be added together and subtracted just like decimal numbers with the result being combined
into one of several size ranges depending upon the number of bits being used. The classification of individual bits into larger
groups are generally referred to by the following more common names of:
| Number of Binary Digits (bits) | Common Name |
| 1 | Bit |
| 4 | Nibble |
| 8 | Byte |
| 16 | Word |
| 32 | Double Word |
| 64 | Quad Word |
Also, when converting from Decimal to Binary or even from Binary to Decimal,
we need to be careful that we do not mix up the two sets of numbers. For example, if we write the digits 10 on the page it could
mean the number "ten" if we assume it to be a decimal number, or it could equally be a "1" and a "0" together in binary, which is
equal to the number two in decimal from above. One way to overcome this problem and to identify whether the digits or numbers being
used are decimal or binary is to write a small number called a subscript after the last digit to show the base of the number
system being used. If we were using a binary number we would add the subscript 2 so the number would be written as
102, and if it were a decimal number we would add the subscript 10 so the number would be written
as 1010.
Today, as micro-controller or microprocessor systems become increasingly larger, the individual binary
digits (bits) are now grouped together into 8īs to form a single BYTE with most computer hardware
such as hard drives and memory modules commonly indicate their size in Megabytes or even
Gigabytes.
| Number of Bytes | Common Name |
| 1,024 (210) | kilobyte (kb) |
| 1,048,576 (220) | Megabyte (Mb) |
| 1,073,741,824 (230) | Gigabyte (Gb) |
| a very long number! (240) | Terabyte (Tb) |
Decimal to Binary Summary
- A "BIT" is the abbreviated term
derived from BInary digiT
- A Binary system has only two states, Logic "0" and Logic "1"
- A Decimal system uses 10 different digits, 0 to 9
- A Binary number is a weighted number who's weighted value
increases from right to left
- The weight of a binary digit doubles from right to left
- A decimal number can be converted to a binary number by using
the sum-of-weights method or the repeated division-by-2 method
- When we convert numbers from decimal to binary, subscripts are
used to avoid errors
Converting Decimal to Binary numbers can be done in a number of different ways as shown
above. When converting decimal numbers to binary numbers it is important to remember which is the least significant bit
(LSB), and which is the most significant bit (MSB). In the next tutorial
about Binary Logic we will look at converting binary numbers into Hexadecimal Numbers
and vice versa and show that binary numbers can be represented by letters as well as numbers.
|