DLD Lecture 2nd Week
DLD Lecture 2nd Week
Technology, Karachi
1
Contents of 2nd week
Decimal numbers
Binary numbers
Binary to Decimal conversion
Decimal to Binary conversion
Decimal to any other base conversion
Binary addition
Binary subtraction
1’s Complement
2’s Complement
Signed Binary numbers
Floating point numbers
Arithmetic operations with signed numbers
2
Decimal Numbers
3
Decimal Numbers
4
Binary Numbers
For digital systems, the binary number system is used.
Binary has a radix of two and uses the digits 0 and 1 to
represent quantities.
The column weights of binary numbers are powers of
two that increase from right to left beginning with 20 =1:
…25 24 23 22 21 20.
For fractional binary numbers, the column weights
are negative powers of two that decrease from left to right:
22 21 20. 2-1 2-2 2-3 2-4 …
5
Decimal Binary
Number Number
7
Decimal(integer) to Binary Conversions
You can convert a decimal whole number to binary by
reversing the procedure. Write the decimal weight of each
column and place 1’s in the columns that sum to the decimal
number.
Convert the decimal number 49 to binary.
The column weights double in each position to the
right. Write down column weights until the last
number is larger than the one you want to convert.
26 2 5 2 4 2 3 2 2 21 2 0.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.
8
Decimal fraction to Binary Conversions
You can convert a decimal fraction to binary by repeatedly
multiplying the fractional results of successive
multiplications by 2. The carries form the binary number.
Convert the decimal fraction 0.188 to binary by
repeatedly multiplying the fractional results by 2.
MSB
0.188 x 2 = 0.376 carry = 0
0.376 x 2 = 0.752 carry = 0
0.752 x 2 = 1.504 carry = 1
0.504 x 2 = 1.008 carry = 1
0.008 x 2 = 0.016 carry = 0
Answer = .00110 (for five significant digits)
9
Decimal to any other base Conversions
You can convert decimal to any other base by repeatedly
dividing by the base. For binary, repeatedly divide by 2:
Convert the decimal number 49 to binary by
repeatedly dividing by 2.
You can do this by “reverse division” and the
answer will read from left to right. Put quotients to
the left and remainders on top.
Answer: remainder
1 1 0 0 0 1
0 1 3 6 12 24 49 2
Continue until the Decimal
Quotient base
last quotient is 0 number
10
Binary Addition
The rules for binary addition are
0+0=0 Sum = 0, carry = 0
0+1=1 Sum = 1, carry = 0
1+0=1 Sum = 1, carry = 0
1 + 1 = 10 Sum = 0, carry = 1
When an input carry = 1 due to a previous result, the rules
are
1 + 0 + 0 = 01 Sum = 1, carry = 0
1 + 0 + 1 = 10 Sum = 0, carry = 1
1 + 1 + 0 = 10 Sum = 0, carry = 1
1 + 1 + 1 = 11 Sum = 1, carry = 1
11
Binary Addition
Add the binary numbers 00111 and 10101 and show
the equivalent decimal addition.
0111
00111 7
10101 21
11100 = 28
12
Binary Subtraction
The rules for binary subtraction are
00=0
11=0
10=1
10 1 = 1 with a borrow of 1
Subtract the binary number 00111 from 10101 and
show the equivalent decimal subtraction.
111
10101
/ / / 21
00111 7
01110 = 14
13
1’s Complement
The 1’s complement of a binary number is just the inverse
of the digits. To form the 1’s complement, change all 0’s
to 1’s and all 1’s to 0’s.
For example, the 1’s complement of 11001010 is
00110101
In digital circuits, the 1’s complement is formed by using
inverters:
1 1 0 0 1 0 1 0
0 0 1 1 0 1 0 1
14
2’s Complement
The 2’s complement of a binary number is found by
adding 1 to the LSB of the 1’s complement.
Recall that the 1’s complement of 11001010 is
00110101 (1’s complement)
To form the 2’s complement, add 1: +1
1 1 0 0 1 0 1 0 00110110 (2’s complement)
1
0 0 1 1 0 1 0 1
Input bits
Carry
Adder
in (add 1)
Output bits (sum)
0 0 1 1 0 1 1 0
15
Signed Binary Numbers
There are several ways to represent signed binary numbers.
In all cases, the MSB in a signed number is the sign bit, that
tells you if the number is positive or negative.
Computers use a modified 2’s complement for
signed numbers. Positive numbers are stored in true form
(with a 0 for the sign bit) and negative numbers are stored
in complement form (with a 1 for the sign bit).
For example, the positive number 58 is written using 8-bits
as 00111010 (true form).
16
Signed Binary Numbers
Negative numbers are written as the 2’s complement of
the corresponding positive number.
The negative number 58 is written as:
58 = 11000110 (complement form)
Sign bit Magnitude bits
An easy way to read a signed number that uses this notation is to
assign the sign bit a column weight of 128 (for an 8-bit number).
Then add the column weights for the 1’s.
Assuming that the sign bit = 128, show that 11000110 = 58
as a 2’s complement signed number:
Column weights: 128 64 32 16 8 4 2 1.
1 1 0 0 0 1 1 0
128 +64 +4 +2 = 58
17
Floating Point Numbers
Floating point notation is capable of representing very
large or small numbers by using a form of scientific
notation. A 32-bit single precision number is illustrated.
S E (8 bits) F (23 bits)
Sign bit Biased exponent (+127) Magnitude with MSB dropped
Express the speed of light, c, in single precision floating point
notation. (c = 0.2998 x 109)
In binary, c = 0001 0001 1101 1110 1001 0101 1100 00002.
In scientific notation, c = 1.001 1101 1110 1001 0101 1100 0000 x 228.
S = 0 because the number is positive. E = 28 + 127 = 15510 = 1001 10112.
F is the next 23 bits after the first 1 is dropped.
In floating point notation, c = 0 10011011 001 1101 1110 1001 0101 1100
18
Arithmetic Operations with Signed Numbers
Using the signed number notation with negative
numbers in 2’s complement form simplifies addition
and subtraction of signed numbers.
Rules for addition: Add the two signed numbers. Discard
any final carries. The result is in signed form.
Examples:
00011110 = +30 00001110 = +14 11111111 = 1
00001111 = +15 11101111 = 17 11111000 = 8
00101101 = +45 11111101 = 3 1 11110111 = 9
Discard carry
19
Arithmetic Operations with Signed Numbers
Note that if the number of bits required for the answer is
exceeded, overflow will occur. This occurs only if both
numbers have the same sign. The overflow will be
indicated by an incorrect sign bit.
Two examples are:
01000000 = +128 10000001 = 127
01000001 = +129 10000001 = 127
10000001 = 127 Discard carry 100000010 = +2
20
Arithmetic Operations with Signed Numbers
Rules for subtraction: 2’s complement the subtrahend and
add the numbers. Discard any final carries. The result is in
signed form.
Repeat the examples done previously, but subtract:
00011110 (+30) 00001110 (+14) 11111111 (1)
00001111 –(+15) 11101111 –(17) 11111000 –(8)
2’s complement subtrahend and add:
00011110 = +30 00001110 = +14 11111111 = 1
11110001 = 15 00010001 = +17 00001000 = 8
1 00001111 = +15 00011111 = +31 1 00000111 = +7
Discard carry Discard carry
21
Thanks
Q&A
22