Since the binary system is the internal language of electronic computers, serious computer programmers should understand how to convert from decimal to binary.
we will start by discussing what are decimal and binary numbers.
The decimal (base
ten) numeral system has ten possible values (0,1,2,3,4,5,6,7,8,
or 9) for each place-value. In contrast, the binary (base
two) numeral system has two possible values, often represented as 0
or 1, for each place-value.
To avoid confusion while using different
numeral systems, the base of each individual number may be
specified by writing it as a subscript of the number.
example:
*the decimal
number 156 may be written as 15610 and
read as "one
hundred fifty-six, base ten".
*The binary number
10011100 may be specified as
base two" by writing it as 100111002.
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 summarized bythe following relationship:
N=bi qi
Where:
N is positive real number
B is symbol
Q is base value
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 orweight 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.
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.
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) |
the decimal to binary conversion gives the decimal number
29410 = 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 Logicwe 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.
Walang komento:
Mag-post ng isang Komento