Binary Operations

36
Binary Operations Math/Logical

description

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. - PowerPoint PPT Presentation

Transcript of Binary Operations

Page 1: Binary Operations

Binary Operations

Math/Logical

Page 2: Binary Operations

Binary Math

Page 3: Binary Operations

Decimal Addition Example

3 7 5 8

+ 4 6 5 7

1) Add 8 + 7 = 15Write down 5, carry 1

1

8

1 1

4 1 5 4) Add 3 + 4 + 1 = 8Write down 8

3) Add 7 + 6 + 1 = 14Write down 4, carry 1

2) Add 5 + 5 + 1 = 11Write down 1, carry 1

Add 3758 to 4657:

Page 4: Binary Operations

Decimal Addition Explanation

1 1 1

3 7 5 8

+ 4 6 5 7

8 4 1 5

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

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.

Page 5: Binary Operations

Binary Addition RulesRules:

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

Page 6: Binary Operations

Binary Addition Example 1

1 1 0 1 1 1

+ 0 1 1 1 0 0

1

1

111

0 1 0 0 11

Example 1: Add binary 110111 to 11100

Col 1) Add 1 + 0 = 1 Write 1

Col 2) Add 1 + 0 = 1 Write 1

Col 3) Add 1 + 1 = 2 (10 in binary) Write 0, carry 1

Col 4) Add 1+ 0 + 1 = 2 Write 0, carry 1

Col 6) Add 1 + 1 + 0 = 2 Write 0, carry 1

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

Col 7) Bring down the carried 1 Write 1

Page 7: Binary Operations

Binary Addition Explanation

1 1 0 1 1 1

+ 0 1 1 1 0 0

- .

1

1

111

0 1 0 0 11

In the first two columns, there were no carries.

In column 3, we add 1 + 1 = 2 Since 2 is equal to the base, subtract

the base from the sum and carry 1.

In column 4, we also subtract the base from the sum and carry 1.

In column 6, 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.

In column 7, we just bring down the carried 1

22 2 23

222

What is actually happened when we carried in binary?

Page 8: Binary Operations

Binary Addition Verification

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

1 1 0 1 1 1

+ 0 1 1 1 0 0

1 0 1 0 0 11

You can always check your answer by converting the figures to decimal, doing the addition, and comparing the answers.

Page 9: Binary Operations

Binary Addition Example 2

Verification

1110102 5810

+0011112 + 1510

7310

64 32 16 8 4 2 1

1 0 0 1 0 0 1

= 64 + 8 +1

= 7310

1 1 1 0 1 0

+ 0 0 1 1 1 1

1

1

11

0 0 1 0 10

Example 2:Add 1111 to 111010.

11

Page 10: Binary Operations

Decimal Subtraction Example

8 0 2 5

- 4 6 5 7

Subtract 4657 from 8025:

7 9 11

11

8633

1) Try to subtract 5 – 7 can’t.Must borrow 10 from next column.

4) Subtract 7 – 4 = 3

3) Subtract 9 – 6 = 3

2) 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.

Add the borrowed 10 to the original 0. Now you can borrow 10 from this column.

Add the borrowed 10 to the original 5.Then subtract 15 – 7 = 8.

Add the borrowed 10 to the original 1..Then subract 11 – 5 = 6

Page 11: Binary Operations

Decimal Subtraction Explanation

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.

8633

8 0 2 5- 4 6 5 7

Page 12: Binary Operations

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.

Page 13: Binary Operations

Binary Subtraction Example 1

1 1 0 0 1 1

- 1 1 1 0 0

Example 1: Subtractbinary 11100 from 110011

20 0 2

12

1101

Col 1) Subtract 1 – 0 = 1

Col 5) Try to subtract 0 – 1 can’t. Must borrow from next column.

Col 4) Subtract 1 – 1 = 0

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.

Add the borrowed 2 to the 0 on the right. Now you can borrow from this column

(leaving 1 remaining).

Col 2) Subtract 1 – 0 = 1

Add the borrowed 2 to the original 0.Then subtract 2 – 1 = 1

1 Add the borrowed 2 to the remaining 0.

Then subtract 2 – 1 = 1

Col 6) Remaining leading 0 can be ignored.

Page 14: Binary Operations

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

20 0 2

12

1101 1

Subtract binary 11100 from 110011:

Page 15: Binary Operations

Binary SubtractionExample 2

1 0 1 0 0 1

- 1 0 1 0 0

Example 2: Subtractbinary 10100 from 101001

20 0 2

1101 0

Verification

1010012 4110

- 101002 - 2010

2110

64 32 16 8 4 2 1

1 0 1 0 1

= 16 + 4 + 1

= 2110

Page 16: Binary Operations

Logical, Shift, and Rotate Operations

Page 17: Binary 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.

Page 18: Binary Operations

Logical OR RulesOR Operations

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

  OR Table

0 OR 0 = 00 OR 1 = 11 OR 0 = 11 OR 1 = 1

Page 19: Binary Operations

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

Page 20: Binary Operations

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

Page 21: Binary Operations

Logical XOR RulesXOR Operations The exclusive OR. Similar to OR except that it

now gives 0 when both its operands are 1.

Rules.0 XOR 0 = 00 XOR 1 = 11 XOR 0 = 11 XOR 1 = 0

Page 22: Binary Operations

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

Page 23: Binary Operations

Logical AND Rules

AND Operations

AND yields 1 only if both its operands are 1.

Rules.0 AND 0 = 00 AND 1 = 01 AND 0 = 01 AND 1 = 1

 

Page 24: Binary Operations

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

Page 25: Binary Operations

Logical NOT

NOT Operations

NOT is a separate operator for flipping the bits.

Rules.NOT 0 = 1NOT 1 = 0  

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

Page 26: Binary Operations

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.

Page 27: Binary Operations

Shift Left operation

SHL

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

Ex 1. SHL 1 1 0 1

Ex 2. SHL 1 1 0 0 = 1 0 0 0

01 1 0 11 1 0 1 = 1 0 1 0

Page 28: Binary Operations

Shift Left - Multiple Bits SHL # bits means to shift left # times

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

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

= 1 0 0 1 1 0 0 0

1 0 0 1 1 1 0 01 0 0 1 1 1 0 0 0 0 0 = 1 1 1 0 0 0 0 0

Page 29: Binary Operations

Shift Right operationSHR

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

Ex 2. SHR 0 0 1 1 = 0 0 0 1

0 1 0 1 1 = 0 1 0 1

Page 30: Binary Operations

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

Page 31: Binary Operations

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

1 1 0 1 1 = 1 1 0 1

Page 32: Binary Operations

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

Page 33: Binary Operations

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

 Ex 2. ROL 1 1 0 0 = 1 0 0 1

1 0 1 1

Page 34: Binary Operations

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

Page 35: Binary Operations

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

  Ex 2. ROR 0 0 1 1 = 1 0 0 1

1 0 11

Page 36: Binary Operations

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