Binary Operations

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

Decimal Subtraction Explanation

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.
Binary Subtraction Example 1

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.

Binary Subtraction Verification
• 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

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.
Logical OR Rules

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

Logical OR Operation

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

Logical OR Examples

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

Logical XOR Rules

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

Logical XOR Examples

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

Logical AND Rules

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

Logical AND Examples

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

Logical NOT

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

Shift and Rotate operations

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

Shift Right operation

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

Shift Right – Multiple Bits
• 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

Arithmetic Shift Right – Multiple Bits
• 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

Rotate Left operation

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

Rotate Left – Multiple Bits
• 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

Rotate Right operation

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

Rotate Right – Multiple Bits
• 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