Vous êtes sur la page 1sur 39

Binary Arithmetic

Binary addition
Binary subtraction
Binary multiplication
Binary division

1
Complements of Binary
Numbers
1s complements
2s complements

2
Complements of Binary
Numbers
1s complement
Change all 1s to 0s and all 0s to 1s
1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1

3
Complements of Binary
Numbers
2s complement
Find 1s complement and then add 1

1 0 1 0 1 0 1 0
1

1s complement 0 1 0 1 0 1 0 1
Input bits
Adder Carry
Output bits (sum) In (add 1)

2s complement 0 1 0 1 0 1 1 0
4
Signed Numbers

5
Topics for Signed Numbers

Signed-magnitude form
1s and 2s complement form
Decimal value of signed numbers
(How to convert)
Range of values (max and min)
Floating-point numbers

6
Signed Numbers

Signed-magnitude form
The sign bit is the left-most bit in a signed
binary number
A 0 sign bit indicates a positive magnitude
A 1 sign bit indicates a negative magnitude

7
Signed Numbers
1s complement form
A negative value is the 1s complement of
the corresponding positive value
2s complement form
A negative value is the 2s complement of
the corresponding positive value

8
Signed Numbers

Decimal value of signed numbers


Sign-magnitude
1s complement
2s complement

9
Signed Numbers

Range of Values
Total combinations = 2n
2s complement form:
(2n 1) to + (2n 1 1)

Range for 8 bit number:


n=8
-(28-1) = -27 = -128 minimum
+(28-1) 1 = +27 - 1 = +127 maximum
Total combination of numbers is 28 = 256.
10
Signed Numbers
Range for 16 bit number:
n = 16
-(216-1) = -215 = -32768 minimum
+(216-1) - 1 = +215 = +32767 maximum
Total combinations is 216 = 65536 (64K)
8 bit examples:
10000000 = -128

11111111 = -1

10000001 = -127
01111111 = +127 11
Signed Numbers
Floating-point numbers
Can represent very large or very small numbers
based on scientific notation. Binary point floats.
Two Parts
Mantissa represents magnitude of number
Exponent represents number of places that
binary point is to be moved
Three forms
Single-precision (32 bits) float
Double-precision (64 bits) double
Extended-precision (80 bits) long double
Also have Quadruple and Quadruple extended!
12
Single Precision
32 bits

S Exponent (E) Mantissa (fraction, F)

1 bit 8 bits 23 bits

IEEE 754 standard


Mantissa (F) has hidden bit so actually has 24
bits. Gives 7 significant figures.
1st bit in mantissa is always a one
Exponent (E) is biased by 127 called
Excess-127 Notation
Add 127 to exponent so easier to compare
Range of exponents is -126 to +128
Sign (S) bit tells whether number is negative or
13
positive
Single Precision
Example: Convert 577710 to Floating Point
1st, convert to binary using divide by 2 method
577710 = 10110100100012
Positive number, so sign bit (S) equals 0.
2nd, count number of places to move binary point
10110100100012 = 1.011010010001 x 212
Add 127 to 12 = 13910 = 100010112

Mantissa is fractional part, 011010010001


Finally, put everything together
S E F Fill in with trailing zeroes
0 10001011 01101001000100000000000 14
Special Cases
Zero and infinity are special cases
Can have +0 or -0 depending on sign bit
Can also have + or -
Not a Number (NaN)
if underflow or overflow

Type Exponent Mantissa


Zeroes 0 0
Denormalized numbers 0 non zero
Normalized numbers 1 to 2e 2 any
Infinities 2e 1 0
NaNs 2e 1 non zero

15
Examples
Type Exponent Mantissa Value
Zero 0000 0000 000 0000 0000 0000 0000 0000 0.0
One 0111 1111 000 0000 0000 0000 0000 0000 1.0
Denormalized 0000 0000 100 0000 0000 0000 0000 0000 5.910-39
number
Large normalized 1111 1110 111 1111 1111 1111 1111 1111 3.41038
number
Small normalized 0000 0001 000 0000 0000 0000 0000 0000 1.1810-38
number
Infinity 1111 1111 000 0000 0000 0000 0000 0000 Infinity
NaN 1111 1111 010 0000 0000 0000 0000 0000 NaN

16
Double Precision

Exponent has 11 bits so uses


Excess-1023 Notation
Mantissa has 53 bits (one hidden)
53 bits gives 16 significant figures

17
Arithmetic Operations with
Signed Numbers
Addition
Subtraction
Multiplication
Division

18
Arithmetic Operations with
Signed Numbers
Addition of Signed Numbers
The parts of an addition function are:
Augend - The first number
Addend - The second number
Sum - The result
Numbers are always added two at a time.

19
Arithmetic Operations with
Signed Numbers
Four conditions for adding numbers:
1. Both numbers are positive.
2. A positive number that is larger than a
negative number.
3. A negative number that is larger than
a positive number.
4. Both numbers are negative.

20
Arithmetic Operations with
Signed Numbers
Signs for Addition
When both numbers are positive, the
sum is positive.
When the larger number is positive and
the smaller is negative, the sum is
positive. The carry is discarded.

21
Arithmetic Operations with
Signed Numbers
Signs for Addition
When the larger number is negative and
the smaller is positive, the sum is
negative (2s complement form).
When both numbers are negative, the
sum is negative (2s complement form).
The carry bit is discarded.

22
Examples (8 bit numbers)
Add 7 and 4 (both positive) 00000111 7
+00000100 +4
00001011 11

Add 15 and -6 (positive > negative) 00001111 15


+11111010 + -6
Discard carry 1 00001001 9

Add 16 and -24 (negative > positive) 00010000 16


+11101000 + -24
Sign bit is negative so negative 11111000 -8
number in 2s complement form

Add -5 and -9 (both negative) 11111011 -5


+11110111 + -9
Discard carry 1 11110010 -14 23
Overflow
Overflow occurs when number of bits in
sum exceeds number of bits in addend or
augend.
Overflow is indicated by the wrong sign.
Occurs only when both numbers are
positive or both numbers are negative
01111101 126
+ 00111010 + 58
_________ ____
10110111 183

Sign Incorrect
Magnitude Incorrect
24
Arithmetic Operations with
Signed Numbers
Subtraction of Signed Numbers
The parts of a subtraction function are:
Minuend - The first number
Subtrahend - The second number
Difference - The result
Subtraction is addition with the sign of the
subtrahend changed.

25
Arithmetic Operations with
Signed Numbers
Subtraction
The sign of a positive or negative binary
number is changed by taking its 2s
complement
To subtract two signed numbers, take
the 2s complement of the subtrahend
and add. Discard any final carry bit.

26
Subtraction Examples
Find 8 minus 3. 00001000 8 Minuend
+11111101 - 3 Subtrahend
Discard carry 1 00000101 5 Difference

Find 12 minus -9. 00001100 12


+00001001 - -9
00010101 21

Find -25 minus 19. 11100111 -25


+11101101 - 19
Discard carry 1 11010100 -44

Find -120 minus -30. 10001000 -120


+00011110 - -30
10100110 -90
27
Arithmetic Operations with
Signed Numbers
Multiplication of Signed Numbers
The parts of a multiplication function
are:
Multiplicand - First number
Multiplier - Second number
Product - Result
Multiplication is equivalent to adding a
number to itself a number of times equal to
the multiplier.

28
Arithmetic Operations with
Signed Numbers
There are two methods for multiplication:
Direct addition
add multiplicand multiple times equal to the
multiplier
Can take a long time if multiplier is large
Partial products
Similar to long hand multiplication
The method of partial products is the most
commonly used.
29
Arithmetic Operations with
Signed Numbers
Multiplication of Signed Numbers
If the signs are the same, the product is
positive. (+ X + = + or - X - = +)
If the signs are different, the product is
negative. (+ X - = - or - X + = -)

30
Multiplication Example
Both numbers must be in uncomplemented form
Multiply 3 by -5.
Opposite signs, so product will be negative.
310 = 000000112 00000011 Multiplicand
X 00000101 Multiplier
-510 = 111110112 00000011 First partial product
+ 0000000 Second partial product
00000011 Sum of 1st and 2nd
2s complement of -5 + 000011 Third partial product
00000101 00001111 Sum and Final Product

Final result is negative, so take 2s complement.


11110001 is the result which in decimal is -15.
31
Arithmetic Operations with
Signed Numbers
Division of Signed Numbers
The parts of a division operation are:
Dividend
dividend
Divisor quotient
divisor
Quotient
Division is equivalent to subtracting the
divisor from the dividend a number of
times equal to the quotient.

32
Arithmetic Operations with
Signed Numbers
Division of Signed Numbers
If the signs are the same, the quotient is
positive. (+ + = + or - - = +)
If the signs are different, the quotient is
negative. (+ - = - or - + = -)

33
Division Example
Both numbers must be in uncomplemented form
Divide 01100100 by 00110010.
Both numbers are positive so
quotient will be positive.
Set the quotient to zero initially. quotient: 00000000
01100100 Dividend
Subtract the divisor from the + 11001110 2s complement of Divisor
dividend by using 2s complement
1 00110010 First partial remainder
addition. (11001110)
Ignore the carry bit. Add 1 to quotient: 00000000
00110010 + 1remainder
First partial = 00000001
Subtract the divisor from the + 11001110 2s complement of Divisor
1st partial remainder using 2s
complement addition. 1 00000000 zero remainder
So final quotient is 00000010 and final
Addremainder is 00000000
1 to quotient: 34
00000001 + 1 = 00000010
Hexadecimal Numbers

35
Hexadecimal Numbers
Decimal, binary, and hexadecimal
numbers
4 bits is a nibble
FF16 = 25510

36
Hexadecimal Numbers

Binary-to-hexadecimal conversion
Hexadecimal-to-decimal conversion
Decimal-to-hexadecimal conversion

37
Hexadecimal Numbers
Binary-to-hexadecimal conversion
1. Break the binary number into 4-bit
groups
2. Replace each group with the
hexadecimal equivalent
Convert 1100101001010111 to Hex

C A 5 7 = CA5716
Convert 10A416 to binary

0001 0000 1010 0100 = 0001000010100100 38


Hexadecimal Numbers

Hexadecimal-to-decimal conversion
1. Convert the hexadecimal to groups of 4-bit
binary
2. Convert the binary to decimal

39

Vous aimerez peut-être aussi