Chapter 4 Operations on Bits. Apply arithmetic operations on bits when the integer is represented in two’s complement. Apply logical operations on bits.

Slides:



Advertisements
Similar presentations
©Brooks/Cole, 2003 Chapter 4 Operations on Bits. ©Brooks/Cole, 2003 Apply arithmetic operations on bits when the integer is represented in two’s complement.
Advertisements

Princess Sumaya Univ. Computer Engineering Dept. Chapter 3:
©Brooks/Cole, 2003 Chapter 3 Number Representation.
Major Numeric Data Types Unsigned Integers Signed Integer Alphanumeric Data – ASCII & UNICODE Floating Point Numbers.
Assembly Language and Computer Architecture Using C++ and Java
Chapter 4 Operations on Bits
Signed Numbers.
Assembly Language and Computer Architecture Using C++ and Java
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
COE 308: Computer Architecture (T041) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (Appendix A, Computer Architecture: A Quantitative Approach,
DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)
Computer ArchitectureFall 2007 © August 29, 2007 Karem Sakallah CS 447 – Computer Architecture.
Number Representation Rizwan Rehman, CCS, DU. Convert a number from decimal to binary notation and vice versa. Understand the different representations.
Operations on data CHAPTER 4.
4 Operations On Data Foundations of Computer Science ã Cengage Learning.
Dr. Bernard Chen Ph.D. University of Central Arkansas
Chapter3 Fixed Point Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.
Chapter 4 Operations on Bits. Apply arithmetic operations on bits when the integer is represented in two’s complement. Apply logical operations on bits.
ES 244: Digital Logic Design Chapter 1 Chapter 1: Introduction Uchechukwu Ofoegbu Temple University.
Chapter 3 Number Representation. Convert a number from decimal 、 hexadecimal,octal to binary notation and vice versa. Understand the different representations.
Binary Real Numbers. Introduction Computers must be able to represent real numbers (numbers w/ fractions) Two different ways:  Fixed-point  Floating-point.
Computer Arithmetic Nizamettin AYDIN
MICRO OPERATIONS Department of Computer Engineering, M.S.P.V.L. Polytechnic College, Pavoorchatram.
Chapter 2 Data and Number Representations
NUMBER REPRESENTATION CHAPTER 3 – part 3. ONE’S COMPLEMENT REPRESENTATION CHAPTER 3 – part 3.
Chapter 1 Data Storage(3) Yonsei University 1 st Semester, 2015 Sanghyun Park.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
CH09 Computer Arithmetic  CPU combines of ALU and Control Unit, this chapter discusses ALU The Arithmetic and Logic Unit (ALU) Number Systems Integer.
Oct. 18, 2007SYSC 2001* - Fall SYSC2001-Ch9.ppt1 See Stallings Chapter 9 Computer Arithmetic.
Foundations of Computer Science Chapter 4 Operations on Bits.
ECEG-3202: Computer Architecture and Organization, Dept of ECE, AAU 1 Floating-Point Arithmetic Operations.
Computer Arithmetic and the Arithmetic Unit Lesson 2 - Ioan Despi.
©Brooks/Cole, 2003 Chapter 3 Number Representation.
Chapter 3 Number Representation. Convert a number from decimal to binary notation and vice versa. Understand the different representations of an integer.
BINARY SHIFT Multiplication and Division. Binary Shift  As you know a computer can only add, not subtract. For the same token it can still only add,
Number Representation
Operations on Bits Arithmetic Operations Logic Operations
©Brooks/Cole, 2003 Chapter 4 Operations on Bits. ©Brooks/Cole, 2003 Apply arithmetic operations on bits when the integer is represented in two’s complement.
©Brooks/Cole, 2003 Chapter 3 Number Representation.
Number Systems Revision of conversations What is a register Addition Complementation.
07/12/ Data Representation Two’s Complement & Binary Arithmetic.
Bits, Data types, and Operations: Chapter 2 COMP 2610 Dr. James Money COMP
Arithmetic Operations
Number Representation and Arithmetic Circuits
©Brooks/Cole, 2003 Chapter 3 Number Representation.
1 Ethics of Computing MONT 113G, Spring 2012 Session 4 Binary Addition.
Chapter 4 Operations on Bits. Apply arithmetic operations on bits when the integer is represented in two’s complement. Apply logical operations on bits.
09/03/20161 Information Representation Two’s Complement & Binary Arithmetic.
Lecture No. 4 Computer Logic Design. Negative Number Representation 3 Options –Sign-magnitude –One’s Complement –Two’s Complement  used in computers.
Materials on the Exam Introduction Data Representation in Computer Systems Boolean Algebra Digital Logic MARIE: An Introduction to a Simple Computer Until.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
1 Integer Representations V1.0 (22/10/2005). 2 Integer Representations  Unsigned integer  Signed integer  Sign and magnitude  Complements  One’s.
1 CE 454 Computer Architecture Lecture 4 Ahmed Ezzat The Digital Logic, Ch-3.1.
William Stallings Computer Organization and Architecture 8th Edition
Unit 1 Introduction Number Systems and Conversion.
David Kauchak CS 52 – Spring 2017
Chapter 4 Operations on Bits.
A Level Computing Component 2
Computer Organization and Design
Number Representation
Chapter3 Fixed Point Representation
Chapter 1 (Part c) Digital Systems and Binary Numbers
OBJECTIVES After reading this chapter, the reader should be able to :
靜夜思 床前明月光, 疑是地上霜。 舉頭望明月, 低頭思故鄉。 ~ 李白 李商隱.
Two’s Complement & Binary Arithmetic
Presentation transcript:

Chapter 4 Operations on Bits

Apply arithmetic operations on bits when the integer is represented in two’s complement. Apply logical operations on bits. Understand the applications of logical operations using masks. After reading this chapter, the reader should be able to: O BJECTIVES Understand the shift operations on numbers and how a Number can be multiplied or divided by powers of two using shift operations.

Operations on bits Computer HW (Von Neumann Model) Computer HW (Von Neumann Model) Program Input Data Output Data Data Type Program Input Data Output Data bit pattern Thinking computer as Programmable Data Processor Model Storing different types of data as universal format ---Bit Pattern

Figure 4-1 Operations on bits

4.1 Arithmetic Operations 4.1 Arithmetic Operations 4.3 Shift Operations 4.3 Shift Operations 4.2 Logical Operations 4.2 Logical OperationsContents

ARITHMETICOPERATIONSARITHMETICOPERATIONS 4.1

4.1 Arithmetic Operations Arithmetic operations involve adding, subtracting, multiplying, dividing. The multiplication operation can be implemented in software using repeated addition or in hardware using other techniques. The division operation can also be implemented in software using repeated subtraction or in hardware using other techniques.

Table 4.1 Adding bits Number of 1s Number of 1s None One Two Three Result Result Carry Carry Addition in two’s complement

Rule of Adding Integers in Two ’ s Complement Add 2 bits and propagate the carry to the next column. If there is a final carry after the leftmost column addition, discard it. Note:

Example 1 Add two numbers in two’s complement representation: (+17) + (+22)  (+39) Solution Carry Result  39

Example 2 Add two numbers in two’s complement representation: (+24) + (-17)  (+7) Solution Carry Result  +7

Example 3 Add two numbers in two’s complement representation: (-35) + (+20)  (-15) Solution Carry Result  -15

Example 4 Add two numbers in two’s complement representation: (+127) + (+3)  (+130) Solution Carry (Error) An overflow has occurred Result  -126 (Error) An overflow has occurred.

Range of numbers in two ’ s complement representation - (2 N-1 ) (2 N-1 – 1) Note: Overflow is an error that occurs when you try to store a number that is not within the range defined by the allocation.

Figure 4-2 Two’s complement numbers visualization

When you do arithmetic operations on numbers in a computer, remember that each number and the result should be in the range defined by the bit allocation. Note:

Example 5 Subtract 62 from 101 in two’s complement: (+101) - (+62)  (+101) + (-62) Solution Carry Result  39 The leftmost carry is discarded. Subtraction in two’s complement

Example 6 Add two floats: Solution The exponents are 5 and 3. The numbers are: +2 5 x and +2 3 x Make the exponents the same. (+2 5 x )+ (+2 5 x )  +2 5 x After normalization +2 6 x , which is stored as: Arithmetic operations on floating-point umbers

LOGICALOPERATIONSLOGICALOPERATIONS 4.2

4.2 Logical operations We can interpret 0 as the logical value false and 1 as the logical value true. A logical operation can accept 1 or 2 bits to create only 1 bit. If the operation is applied to only one input, it is a unary operation( 单目操作 ). If it is applied to 2 bits, it is a binary operation( 双目操作 ).

Figure 4-3 Unary and binary operations

Figure 4-4 Logical operations

Figure 4-5 A truth table lists all the possible input combinations with the corresponding output.

Figure 4-6 NOT operator NOT=Reverse

Example 7 Use the NOT operator on the bit pattern Solution Target NOT Result

Figure 4-7 AND operator AND=ALL

Example 8 Use the AND operator on bit patterns and Solution Target AND Result

Figure 4-8 Inherent rule of the AND operator (X) AND (0)  0 (X) AND (1)  (X)

Figure 4-9 OR operator OR=ANY

Example 9 Use the OR operator on bit patterns and Solution Target OR Result

Figure 4-10 Inherent rule of the OR operator (X) OR (0)  (X) (X) OR (1)  1

Figure 4-11 XOR operator XOR=Differ

Example 10 Use the XOR operator on bit patterns and Solution Target XOR Result

Figure 4-12 Inherent rule of the XOR operator (X) XOR (0)  (X) (X) XOR (1)  NOT(X)

Applications  The three logical binary operations can be used to modify a bit pattern.  They can unset, set, or reverse specific bits.  The bit pattern to be modified is ANDed, ORed, or XORed with a second bit pattern, which is called the mask.

Figure 4-13 Mask Applications

Figure 4-14 Example of unsetting specific bits

Example 11 Use a mask to unset (clear) the 5 leftmost bits of a pattern. Test the mask with the pattern Solution The mask is Target AND Mask Result

Example 12 Imagine a power plant that pumps water to a city using eight pumps. The state of the pumps (on or off) can be represented by an 8-bit pattern. For example, the pattern shows that pumps 1 to 3 (from the right), 7 and 8 are on while pumps 4, 5, and 6 are off. Now assume pump 7 shuts down. How can a mask show this situation? Solution on the next slide.

Use the mask to AND with the target pattern. The only 0 bit (bit 7) in the mask turns off the seventh bit in the target. Target AND Mask Result Solution

Figure 4-15 Example of setting specific bits

Example 13 Use a mask to set the 5 leftmost bits of a pattern. Test the mask with the pattern Solution The mask is Target OR Mask Result

Example 14 Using the power plant example, how can you use a mask to to show that pump 6 is now turned on? Solution Use the mask Target OR Mask Result

Figure 4-16 Example of flipping specific bits

Example 15 Use a mask to flip the 5 leftmost bits of a pattern. Test the mask with the pattern Solution Target XOR Mask Result

SHIFTOPERATIONSSHIFTOPERATIONS 4.3

Figure 4-17 Shift operations

Solution An unsigned number: a right-shift operation divides the number by two. The pattern represents 59. When you shift the number to the right, you get , which is 29. If you shift the original number to the left, you get , which is 118. Example 16 Show how you can divide or multiply a number by 2 using shift operations.

Example 17 Use the mask to AND with the target to keep the fourth bit and clear the rest of the bits. Solution Use a combination of logical and shift operations to find the value (0 or 1) of the fourth bit (from the right). Continued on the next slide

Solution (continued) Target a b c d e f g h AND Mask Result e Shift the new pattern three times to the right 0000e000  00000e00  e0  e Now it is easy to test the value of the new pattern as an unsigned integer. If the value is 1, the original bit was 1; otherwise the original bit was 0.