Number system & bynary arithmetic
Number system & bynary arithmetic
Since the early days of human civilization, people have been using their fingers, sticks and
other things for counting. As daily activities became more complex, the numbers became more
important in trade, time and distance, and in all other spheres of human life. It became apparent
that we needed more than our fingers and toes to keep track of the number in our daily routine.
In 3400 BC, the ancient Egyptians started using special symbols for writing the numbers. This
was a major advancement, because it reduced the number of symbols required. However, it
was difficult to represent large or small numbers by using such a graphical approach.
Learning objectives
After studying this lesson, student should be able to:
Recognize different types of number systems as they relate to computers.
Identify and define unit, number, base/radix, positional notation, and most and least
significant digits as they relate to decimal, binary, octal, and hexadecimal number
systems.
Add and subtract in binary, octal, and hexadecimal number systems.
Convert values from decimal, binary, octal, hexadecimal, and binary-code decimal
number systems to each other and back to the other systems.
Add in binary-coded decimal.
Contents
I. DEFINITIONS ................................................................................................................................ 2
II. TYPES OF NUMBER SYSTEM ................................................................................................... 2
III. CONVERSION BETWEEN NUMBER BASES ....................................................................... 3
IV. BINARY ARITHMETIC ............................................................................................................ 8
V. REPRESENTATION OF NEGATIVE BINARY NUMBER ........................................................ 9
VI. BINARY CODING SCHEME.................................................................................................. 12
EXERCISES.............................................................................................................................................. 14
I. DEFINITIONS
A number system defines a set of values that is used to represent quantity. It is characterize
by the base or radix. The base tells the number of symbols used in the system. Then tha system
of base n will use digits from 0 to n-1. E.g. Base 3 uses the digits 0, 1 and 2. Base 6 uses the
digits 0, 1, 2, 3, 4 and 5.
The base of a number system is indicated by a subscript (decimal number) and this will be
followed by the value of the number. The following are few examples:
Eventually, the number systems that are generally used by the computers are as follows:
Factorisation.
Let consider the number N of n digits in base b written as follow: (𝑫𝒏−1 … 𝑫2 𝑫1 𝑫0 )𝒃. N can
be also written
(453)7 = 4 × 72 + 5 × 7 + 3
(5𝑨𝑫03)16 = 5 × 164 + 𝐴 × 163 + 𝐷 × 162 + 0 × 16 + 3
= 5 × 164 + 10 × 163 + 13 × 162 + 0 × 16 + 3
We have discussed earlier that internally the computer uses binary numbers for data
representation, whereas externally it uses decimal numbers. However, any number in one
number system can be represented in any other number system. Conversion between number
systems can be classified into three types: Coding, decoding and encoding.
III.1. Coding
Coding is the conversion from decimal base (base 10) to any non-decimal base b ( 𝑏 ≠ 10).
0.5 x 2 = 1.0 1
Finally, (0.375)10 = (0.011)2
We have already noticed in the previous question that (671)10 = (29F)16. Now let convert
(0.175)10 in base 16
0.175 x 16 = 2.8 2
0.8 x 16 = 12.8 C
0.8 x 16 = 12.8 C
....
Finally, (671.175)10 = (29F.2CCC...)16
III. 2. Decoding
To decode is convert from a non-decimal base b (𝑏 ≠ 10) to the decimal base (base 10).
In this case, each digit of the binary number is multiplied by its weighted position, and each of
the weighted values is added together to get the decimal number.
Examples:
The Process:
Above each of the digits in your number, list the power of the base that
the digit represents. See the example on the left. It is now a simple
process of multiplication and addition to determine your base 10
number. In this example you have
Now simply add these values together.
5 x 80 = 5 5 + 24 + 128 = 157
3 x 81 = 24 Answer: 2358 = 15710
2 x 82 = 128
**Remember: any number to the zero power equals one.
b) Convert 10112 to base 10.
1 x 20 = 1
1 x 21 = 2 1 + 2 + 0 + 8 = 11
0 x 22 = 0 Answer: 10112 = 1110
1 x 23 = 8
c) Convert 1C416 to base 10.
Examples:
III.3. Encoding
Encoding is the conversion from a non-decimal base to a non-decimal base. Some special
cases would be distinguished.
Examples:
Examples:
Examples:
Dividing the group of binary numbers into the four-bit binary blocks and by converting these
blocks into their respective hexadecimal symbols, we have:
Dividing the group of binary numbers into the four-bit binary blocks and by converting these
blocks into their respective hexadecimal symbols, we have:
Examples:
Dividing the group of binary numbers into the three-bit binary blocks and by converting these
blocks into their respective octal symbols, we have:
Dividing the group of binary numbers into the three-bit binary blocks and by converting these
blocks into their respective octal symbols, we have:
1 1 carries 1 1 1 1 1 carries
0 0 0 1 1 0 1 0 = (26)10 0 0 0 1 0 0 1 1 = (19)10
+0 0 0 0 1 1 0 0 = (12)10 +0 0 1 1 1 1 1 0 = (62)10
0 0 1 0 0 1 1 0 = (38)10 0 1 0 1 0 0 0 1 = (81)10
0‐0=0
0 ‐ 1 = 1, and borrow 1 from the next more significant bit
1‐0=1
1‐1=0
Examples,
a) 00100101 ‐ 00010001 = 00010100 b) 00110011 ‐ 00010110 = 00011101
1 borrows 11 borrows
00100101 = (37)10 00110011 = (51)10
‐ 00010001 = (17)10 ‐ 00010110 = (22)10
00010100 = (20)10 00011101 = (29)10
Usually a given computer uses a fixed number of bits for storing integers. So we use terms such
as 8-bits integer, 16-bits integers, ... Whatever the principle remains the same, the only
difference is that with more bits, we can store wider range of number. In general, with n bits,
one can store 2n numbers.
For
example, 01100011 is a positive number since its sign bit is 0, and, 11001011 is a negative
number since its sign bit is 1. An 8-bit signed number can represent data in the range -128 to
+127 (-27 to +27-1). In general, using n bits, the range of integer we can store using two’s
complement is -2n-1 to 2n-1
V.2 Complements
The complement of a number is the number, which when added to the original will make it
equal to a multiple of the base number system.
For every base r system, there are two types of complements: rs complement and (r – 1)s
complement.
There are two types of complements for the binary number system – 1’scomplement and
2’scomplement.
To form the negative of any number, first complement all the bits of that number. This result
is known as the 1s complement of the original number. This requires changing every logic 1
bit in a number to logic 0, and every logic 0 bit to logic 1.
For instance
• 1’s complement of 110 is 001
• 1’s complement of 1011 is 0100
• 1’s complement of 1101111 is 0010000
The 2’s complement is the convention used in most of the computers to represent negative
numbers.
1. Take the 1s complement of the number by changing every logic 1 bit in the number to
logic 0 bit, and change every logic 0 bit to logic 1 bit.
2. Add 1 to the 1s complement of the binary number. Now, we have the 2s complement
of the original number. Here, we can notice that the MSB has become 1.
Taking the 2s complement of the number will cause the MSB to become 1. Using n bits, the
range of integer we can store using two’s complement is -2n-1 to 2n-1-1
For instance,
Here we do subtraction using addition! We use the signed 1’s complement or 2’s complement
representation to represent the negative numbers. The subtraction here is just supposed to be
an addition of a positive number and a negative number. Then:
Examples
With 2’s complement With 1’s complement
1. Add −8 to +3 3. Add −8 to +3
(+3) 0000 0011 (+3) 0000 0011
+(−8) 1111 1000 +(−8) 1111 0111
----------------- --------------------------
(−5) 1111 1011 (−5) 1111 1010
2. Add −5 to −2 4. Add −5 to −2
(−2) 1111 1110 (−2) 1111 1101
+(−5) 1111 1011 +(−5) 1111 1010
----------------- --------------------------
(−7) 1 1111 1001 : discard carry-out 1 1111 0111
+(1) 1: Add carry-out
----------------------------
(−7) 1111 1000
If the result of an arithmetic operation is to too large (positive or negative) to fit into the
resultant bit-group, then arithmetic overflow occurs. In general, overflow occurs when adding
two positive numbers produces a negative result, or when adding two negative numbers
produces a positive result. Adding operands of unlike signs never produces an overflow
Notice that discarding the carry out of the most significant bit during Two's Complement
addition is a normal occurrence, and does not by itself indicate overflow
01010000 = 80
+ 01010000 = 80
--------------
10100000 = −96 (not 160 because the sign bit is 1.)
The alphabetic data, numeric data, alphanumeric data, symbols, sound data and video data, all
are represented as combination of bits in the computer. A code is made by combining bits of
definite size. Binary Coding schemes represent the data such as alphabets, digits 0-9, and
symbols in a standard code. A combination of bits represents a unique symbol in the data. The
standard code enables any programmer to use the same combination of bits to represent a
symbol in the data.
The binary coding schemes that are most commonly used are
Let us determine the BCD value for the decimal number 5319. Since there are four digits in the
decimal number, there are four bytes in the BCD number. They are:
Binary code decimal digits (0–9) are represented by using four bits. The valid combinations of
bits and their respective values are shown in the table below.
To represent the signs + and -, any of the remaining 4 bits patterns can be used. One convention
uses 1010 for + and 1011 for -. You can see that in one byte we can have either 2 digits or a
sign and one digit. Here we must use the full 4-bits representation of any digit (including the
leading 0s). Thus the BCD representation of 5319 is 0101001100011001 and not
101001100011001
The Extended Binary Coded Decimal Interchange Code(EBCDIC) uses 8 bits (4 bits
for zone, 4 bits for digit) to represent a symbol in the data.
EBCDIC allows 28= 256 combinations of bits.
256 unique symbols are represented using EBCDIC code. It represents decimal
numbers (0-9), lower case letters (a-z), uppercase letters (A-Z), Special characters, and
Control characters (printable and non-printable e.g. for cursor movement, printer
vertical spacing etc.).
EBCDIC codes are used, mainly, in the mainframe computers.
ASCII-7is a 7-bit standard ASCII code. In ASCII-7, the first 3 bits are the zone bits and
the next 4 bits are for the digits. ASCII-7 allows 27= 128 combinations. 128 unique
symbols are represented using ASCII-7.
ASCII-8is an extended version of ASCII-7. It is an 8-bit code having 4 bits for zone
and 4 bits for the digit. ASCII-8 allows 28= 256 combinations. ASCII-8 represents 256
unique symbols. ASCII is used widely to represent data in computers.
The ASCII-8 code represents 256 symbols.
o Codes 0 to 31 represent control characters (non-printable), because they are used
for actions like, Carriage return (CR), Bell (BEL) etc.
o Codes 48 to 57 stand for numeric 0-9.
o Codes 65 to 90 stand for uppercase letters A-Z.
o Codes 97 to 122 stand for lowercase letters a-z.
o Codes 128-255 are the extended ASCII codes.
VI.4 Unicode
Unicode is a universal character encoding standard for the representation of text which includes
letters, numbers and symbols in multi-lingual environments. It uses 32 bits (232= 4164895296
combinations) to represent a symbol in the data. Unicode codes can uniquely represent any
character or symbol present in any language like Chinese, Japanese, included mathematical
and scientific symbols are also represented in Unicode codes. An advantage of Unicode is that
it is compatible with the ASCII-8 codes. The first 256 codes in Unicode are identical to the
ASCII-8 codes.
EXERCISES
MCQ
1. Choose the correct answer from below for the result of the binary multiplication 1101 ×
110.
(a) 1001111, (b) 1010110, (c) 1001110, (d) 1011111.
2. Choose the correct answer from below for the result of the binary division 11011 ÷ 1001.
(a) 10, (b) 101, (c) 11, (d) 110.
3. Which of the following is the binary product 1001 × 111?
(a) 110111 (b) 111111, (c) 111011, (d) 111110.
4. Which of the following is the binary product 1101 × 1011?
(a) 10101111, (b) 10001111, (c) 10101011, (d) 10111011.
5. Which of the following is the binary division 10101 ÷ 11?
(a) 100, (b) 110, (c) 101, (d) 111.
6. Which of the following is the binary division 100011 ÷ 1010?
(a) 10.1, (b) 11.11, (c) 11.01, (d) 11.1.
Exercise 1.
(a) Convert the binary number 1011 into decimal form.
(b) Convert the binary number 1.011 into decimal form.
(c) Convert the numbers 15 and 12 into binary form, add the two binary numbers together and
convert the answer to decimal form to check that the sum is correct.
(d) Convert the numbers 9 and 6 into binary form. Use this to find 9 − 6 in binary form. Check
that the answer is correct by converting the binary answer into decimal form.
Exercise 2.
In each of the questions below, a product is written in decimal form. In each case, convert both
numbers to binary form, multiply them in binary form and check that the solution is correct by
converting the answer to decimal form. (Click on the green letters for solutions.)
(a) 3 × 2, (b) 4 × 4, (c) 5 × 10, (d) 6 × 7, (e) 9 × 6, (f) 11 × 7
Exercise 3.
In each of the questions below, a division is written in decimal form. In each case, convert both
numbers to binary form, perform the division in binary form and check that the solution is
correct by converting the answer to decimal form. (Click on the green letters for solutions.)
(a) 6 ÷ 2, (b) 8 ÷ 2, (c) 9 ÷ 3, (d) 10 ÷ 4, (e) 21 ÷ 7, (f) 18 ÷ 8.
Exercise 4.
1) Using Sign and magnitude, what range of integer can be stored using 6 bits, 8 bits, 16
bits.
2) Using 6 bits, give the sign and magnitude representation of 14, -15, 31, -17
3) Using 6 bits, give the two complement representation of: 15, -28, 31, -1
Exercise 5.
1) What is the BCD representation of (a) 215 (b) -215 (c) 2001
2) What numbers are represented by the following bit strings assume that when there is a
sign, it is represented by the first 4 bits with the convention 1010 for + and 1011 for -.
(a) 10101100100110111 (c) 1001100000000010
(b) 10110011011110010100 (d) 1010010101011011
Exercise 6.
(a) What is the lowest possible value for an 8-bit signed magnitude binary number?
(b) What is the highest possible value for a 10-bit 2's complement binary number?
Exercise 7.
1) Convert each of the following decimal values to 8-bit 2's complement binary.
a) 5410 b) –4910 c) –12810 d) –6610 e) –9810
2) Convert each of the following 8-bit 2's complement binary numbers to decimal.
a) 100111012 b) 000101012 c) 111001102 d) 011010012
Exercise 8.
1) Convert each of the following decimal values to 8-bit signed magnitude binary.
a) 5410 b) –4910 c) –12710 d) –6610 e) –9810
2) Convert each of the following 8-bit signed magnitude binary numbers to decimal.
a) 100111012 b) 000101012 c) 111001102 d) 011010012
Exercise 9.
Using 1’s and 2’s complements perform the following subtractions
a. 100110 – 11011 c. 1101010 – 110100
b. 10011.1101 – 101.11 d. 1010 - 11011
Exercise 10.
Find the following differences using 2’s complement arithmetic. First convert decimal values
to corresponding binary values. Next, find the two’s complement representation of the
subtrahend. Add the minuend and 2’s complemented subtrahend. Check your answers.
a) 12 – 6 b) 4 – 6 c) 3.125 – 6.5 d) 67.25 – 83.125