1 / 36

# Binary Operations - PowerPoint PPT Presentation

Binary Operations. Math/Logical. Binary Math. Decimal Addition Example. 3 7 5 8 + 4 6 5 7 . 1) Add 8 + 7 = 15 Write down 5 , carry 1. Add 3758 to 4657 :. 2) Add 5 + 5 + 1 = 11 Write down 1 , carry 1. 1. 1. 1. 3) Add 7 + 6 + 1 = 14 Write down 4 , carry 1. 8. 4.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Binary Operations' - Albert_Lan

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Math/Logical

### Binary Math

3 7 5 8

+ 4 6 5 7

1) Add 8 + 7 = 15

Write down 5, carry 1

2) Add 5 + 5 + 1 = 11

Write down 1, carry 1

1

1

1

3) Add 7 + 6 + 1 = 14

Write down 4, carry 1

8

4

1

5

4) Add 3 + 4 + 1 = 8

Write down 8

• What just happened?

• 1 1 1 (carry)

• 3 7 5 8

• + 4 6 5 7

• 8 14 11 15 (sum)

• 10 10 10 (subtract the base)

• 8 4 1 5

1 1 1

3 7 5 8

+ 4 6 5 7

8 4 1 5

So when the sum of a column is equal to or greater than the base, we subtract the base from the sum, record the difference, and carry one to the next column to the left.

Rules:

• 0 + 0 = 0

• 0 + 1 = 1

• 1 + 0 = 1 (just like in decimal)

• 1 + 1 = 210 = 102 = 0 with 1 to carry

• 1 + 1 + 1 = 310 = 112 = 1 with 1 to carry

Col 1) Add 1 + 0 = 1

Write 1

1 1 0 1 1 1

+ 0 1 1 1 0 0

binary 110111 to 11100

Col 2) Add 1 + 0 = 1

Write 1

Col 3) Add 1 + 1 = 2 (10 in binary)

Write 0, carry 1

1

1

1

1

Col 4) Add 1+ 0 + 1 = 2

Write 0, carry 1

Col 5) Add 1 + 1 + 1 = 3 (11 in binary)

Write 1, carry 1

1

0

1

0

0

1

1

Col 6) Add 1 + 1 + 0 = 2

Write 0, carry 1

Col 7) Bring down the carried 1

Write 1

In the first two columns, there were no carries.

1 1 0 1 1 1

+ 0 1 1 1 0 0

- .

What is actually happened when we carried in binary?

In column 3, we add 1 + 1 = 2

Since 2 is equal to the base, subtract

the base from the sum and carry 1.

1

1

1

1

In column 4, we also subtract

the base from the sum and carry 1.

In column 5, we also subtract

the base from the sum and carry 1.

2

3

2

2

In column 6, we also subtract

the base from the sum and carry 1.

2

2

2

2

In column 7, we just bring down the

carried 1

1

0

1

0

0

1

1

1 1 0 1 1 1

+ 0 1 1 1 0 0

• Verification

• 1101112 5510

• +0111002 + 2810

• 8310

• 64 32 16 8 4 2 1

• 1 0 1 0 0 1 1

• = 64 + 16 + 2 +1

• = 8310

You can always check your

1

0

1

0

0

1

1

1 1 1 0 1 0

+ 0 0 1 1 1 1

• Verification

• 1110102 5810

• +0011112 + 1510

• 7310

• 64 32 16 8 4 2 1

• 1 0 0 1 0 0 1

• = 64 + 8 +1

• = 7310

Example 2:

1

1

1

1

1

1

0

0

1

0

0

1

Decimal Subtraction Example

• Try to subtract 5 – 7  can’t.

• Must borrow 10 from next column.

Subtract

4657 from 8025:

8 0 2 5

- 4 6 5 7

Add the borrowed 10 to the original 5.

Then subtract 15 – 7 = 8.

• Try to subtract 1 – 5  can’t.

• Must borrow 10 from next column.

• But next column is 0, so must go to

• column after next to borrow.

1

7

9

1

1

1

Add the borrowed 10 to the original 0.

Now you can borrow 10 from this column.

3

3

6

8

Add the borrowed 10 to the original 1..

Then subract 11 – 5 = 6

3) Subtract 9 – 6 = 3

4) Subtract 7 – 4 = 3

8 0 2 5

- 4 6 5 7

3

3

6

8

• So when you cannot subtract, you borrow from the column to the left.

• The amount borrowed is 1 base unit, which in decimal is 10.

• The 10 is added to the original column value, so you will be able to subtract.

Binary Subtraction Explanation

• In binary, the base unit is 2

• So when you cannot subtract, you borrow from the column to the left.

• The amount borrowed is 2.

• The 2 is added to the original column value, so you will be able to subtract.

Col 1) Subtract 1 – 0 = 1

1 1 0 0 1 1

- 1 1 1 0 0

Col 2) Subtract 1 – 0 = 1

Example 1: Subtract

binary 11100 from 110011

Col 3) Try to subtract 0 – 1  can’t.

Must borrow 2 from next column.

But next column is 0, so must go to

column after next to borrow.

1

2

Add the borrowed 2 to the 0 on the right.

Now you can borrow from this column

(leaving 1 remaining).

0

0

2

2

Add the borrowed 2 to the original 0.

Then subtract 2 – 1 = 1

Col 4) Subtract 1 – 1 = 0

Col 5) Try to subtract 0 – 1  can’t.

Must borrow from next column.

1

0

1

1

1

Add the borrowed 2 to the remaining 0.

Then subtract 2 – 1 = 1

Col 6) Remaining leading 0 can be ignored.

• Verification

• 1100112 5110

• - 111002 - 2810

• 2310

• 64 32 16 8 4 2 1

• 1 0 1 1 1

• = 16 + 4 + 2 + 1

• = 2310

1 1 0 0 1 1

- 1 1 1 0 0

Subtract binary

11100 from 110011:

1

2

0

0

2

2

1

0

1

1

1

Binary SubtractionExample 2

• Verification

• 1010012 4110

• - 101002 - 2010

• 2110

• 64 32 16 8 4 2 1

• 1 0 1 0 1

• = 16 + 4 + 1

• = 2110

1 0 1 0 0 1

- 1 0 1 0 0

Example 2: Subtract

binary 10100 from 101001

0

2

0

2

1

0

1

0

1

### Logical, Shift, and Rotate Operations

• A particular bit, or set of bits, within the byte can be set to 1 or 0, depending on conditions encountered during the execution of a program.

• When so used, these bits are often called "flags".

• Frequently, the programmer must manipulate these individual bits - an activity sometimes known as "bit twiddling".

• The logical, shift, and rotate operations provide the means for manipulating the bits.

OR Operations

• OR Results in 1 if either or both of the operands are 1.

• OR Table

0 OR 0 = 0

0 OR 1 = 1

1 OR 0 = 1

1 OR 1 = 1

To perform the OR operation, take one column at a time and perform the OR operation using the OR table.

Ex 1: 1 0 0 1 0 0 1 1

OR 0 0 0 0 1 1 1 1

1 0 0 1 1 1 1 1

Ex 3: 0 1 1 1

OR 0 0 1 0 0 1 1 1

Ex 2: 1 1 0 0 1 0 0 1

OR 0 0 0 0 1 0 1 0

1 1 0 0 1 0 1 1

XOR Operations

• The exclusive OR. Similar to OR except that it now gives 0 when both its operands are 1.

Rules.

0 XOR 0 = 0

0 XOR 1 = 1

1 XOR 0 = 1

1 XOR 1 = 0

Ex 1: 1 0 0 1 1 0 0 1

XOR 0 0 0 0 1 1 1 1

1 0 0 1 0 1 1 0

Ex 2: 0 1 1 1

XOR 0 0 1 0

0 1 0 1

AND Operations

• AND yields 1 only if both its operands are 1.

Rules.

0 AND 0 = 0

0 AND 1 = 0

1 AND 0 = 0

1 AND 1 = 1

Ex 1: 1 1 0 1 0 0 1 1

AND 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1

Ex 2: 0 1 1 1

AND 1 0 0 1

0 0 0 1

NOT Operations

• NOT is a separate operator for flipping the bits.

Rules.

NOT 0 = 1

NOT 1 = 0

Example. NOT 1 0 1 0 = 0 1 0 1

Whereas logical operations allow the changing of bit values in place,

SHIFT and ROTATE operations allow bits to be moved left or right without changing their values.

1 1 0 1

Shift Left operation

SHL

SHL (shift left) shifts each bit one place to the left. The original leftmost bit islost and a 0 is shifted into the rightmost position.

Ex 1. SHL 1 1 0 1

1 1 0 1

0

= 1 0 1 0

Ex 2. SHL 1 1 0 0

= 1 0 0 0

1 0 0 1 1 1 0 0

Shift Left - Multiple Bits

• SHL # bits means to shift left # times

Ex 1: SHL 3 1 0 0 1 1 1 0 0

1 0 0 1 1 1 0 0

0 0 0

= 1 1 1 0 0 0 0 0

Ex 2: SHL 2 1 1 1 0 0 1 1 0

= 1 0 0 1 1 0 0 0

SHR

SHR (shift right) shifts each bit one place to the right. The original rightmost bit is lost and a 0 is shifted into the leftmost position.

Ex 1. SHR 1 0 1 1

0 1 0 1 1

= 0 1 0 1

Ex 2. SHR 0 0 1 1

= 0 0 0 1

• SHR # bits means to shift right # times

Ex 1: SHR 3 1 0 0 1 1 1 0 0

0 0 0 1 0 0 1 1 1 0 0 = 0 0 0 1 0 0 1 1

Ex 2: SHR 2 1 1 1 0 0 1 1 0

= 0 0 1 1 1 0 0 1

1 1 0 1 1 = 1 1 0 1

Arithmetic Shift Right operation

ASR (retains rightmost sign bit)

Shifts each bit one place to the right. The original rightmost bit is lost and a the value of the most significant bit (leftmost bit) is shifted into the new leftmost position.

Ex 1. ASR 1 0 1 1

Ex 2. ASR 0 0 1 1

= 0 0 0 1

• ASR # bits means to arithmetic shift right # times

Ex 1: ASR 3 1 0 0 1 1 1 0 0

1 1 1 1 0 0 1 1 1 0 0 = 1 1 1 1 0 0 1 1

Ex 2: ASR 2 0 1 1 0 0 1 1 0

= 0 0 0 1 1 0 0 1

ROL

ROL (rotate left) shifts each bit one place to the left. The original leftmost bit is shifted into the rightmost position. No bits are lost.

Ex 1. ROL 1 1 0 1

1 0 1

1

Ex 2. ROL 1 1 0 0

= 1 0 0 1

• ROL # bits means to rotate left # times

Ex 1: ROL 3 1 0 0 1 1 1 0 0

= 1 1 1 0 0 1 0 0

Ex 2: ROL 2 1 1 1 0 0 1 1 0

= 1 0 0 1 1 0 1 1

ROR

ROR (rotate right) shifts each bit one place to the right. The original rightmost bit is shifted into the leftmost position. No bits are lost.

Ex 1. ROR 1 0 1 1

1

1 0 1

Ex 2. ROR 0 0 1 1

= 1 0 0 1

• ROR # bits means to rotate right # times

Ex 1: ROR 3 1 0 0 1 1 1 0 0

= 1 0 0 1 0 0 1 1

Ex 2: ROR 2 1 1 1 0 0 1 1 0

= 1 0 1 1 1 0 0 1