1 / 57

Bitwise Operators: Logical and Shift Operations

This chapter explores the use of bitwise logical and shift operators in programs, as well as creating and using masks to manipulate bits. It covers fixed-size integer types, logical bitwise operators, shift operators, and masks.

elden
Télécharger la présentation

Bitwise Operators: Logical and Shift Operations

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 14 Bitwise Operators Objectives ❏ To be able to use the bitwise logical operators in programs ❏ To be able to use the bitwise shift operators in programs ❏ To understand how to create and use masks to manipulate bits Computer Science: A Structured Programming Approach Using C

  2. 14-1 Exact Size Integer Types The integer types, such as int and long, are machine dependent. In one computer, the size of int may be four bytes; in another computer it may be two bytes. While many bitwise applications work well on machine-dependent integer types, other applications need to assure that the size is fixed. C allows us to define integer types of sizes 8, 16, 32, and 64 bits. Computer Science: A Structured Programming Approach Using C

  3. Table 14-1 Fixed-size Integer Types Computer Science: A Structured Programming Approach Using C

  4. 14-2 Logical Bitwise Operators The logical operators look at data as individual bits to be manipulated. Four operators are provided to manipulate bits: bitwise and(&), bitwise inclusive or(|), bitwise exclusive or(^), and one’s complement (~). The first three are binary operators; the one’s complement is a unary operator. Topics discussed in this section: Bitwise and Operator Bitwise Inclusive or Operator Bitwise Exclusive or Operator One’s Complement Operator Computer Science: A Structured Programming Approach Using C

  5. Table 14-2 And Truth Table Computer Science: A Structured Programming Approach Using C

  6. PROGRAM 14-1 Simple Bitwise And Demonstration Computer Science: A Structured Programming Approach Using C

  7. PROGRAM 14-1 Simple Bitwise And Demonstration Computer Science: A Structured Programming Approach Using C

  8. Table 14-3 Inclusive Or Truth Table Computer Science: A Structured Programming Approach Using C

  9. PROGRAM 14-2 Simple Inclusive or Demonstration Computer Science: A Structured Programming Approach Using C

  10. PROGRAM 14-2 Simple Inclusive or Demonstration Computer Science: A Structured Programming Approach Using C

  11. Table 14-4 Exclusive Or Truth Table Computer Science: A Structured Programming Approach Using C

  12. PROGRAM 14-3 Simple Exclusive or Demonstration Computer Science: A Structured Programming Approach Using C

  13. PROGRAM 14-3 Simple Exclusive or Demonstration Computer Science: A Structured Programming Approach Using C

  14. Table 14-5 One’s Complement Truth Table Computer Science: A Structured Programming Approach Using C

  15. PROGRAM 14-4 One’s Complement Computer Science: A Structured Programming Approach Using C

  16. PROGRAM 14-4 One’s Complement Computer Science: A Structured Programming Approach Using C

  17. FIGURE 14-1 Checksum Calculation Computer Science: A Structured Programming Approach Using C

  18. PROGRAM 14-5 Demonstrate Checksum Computer Science: A Structured Programming Approach Using C

  19. PROGRAM 14-5 Demonstrate Checksum Computer Science: A Structured Programming Approach Using C

  20. 14-3 Shift Operators The shift operators move bits to the right or the left. When applied to unsigned numbers, these operators are implementation independent. When used with signed numbers, however, the implementation is left to the discretion of the software engineer who designs the compiler. Topics discussed in this section: Shift Rotation Computer Science: A Structured Programming Approach Using C

  21. FIGURE 14-2 Shift-right Operation Computer Science: A Structured Programming Approach Using C

  22. PROGRAM 14-6 Simple Shift-right Demonstration Computer Science: A Structured Programming Approach Using C

  23. PROGRAM 14-6 Simple Shift-right Demonstration Computer Science: A Structured Programming Approach Using C

  24. PROGRAM 14-6 Simple Shift-right Demonstration Computer Science: A Structured Programming Approach Using C

  25. Table 14-6 Divide by Shift Computer Science: A Structured Programming Approach Using C

  26. FIGURE 14-3 Shift-left Operation Computer Science: A Structured Programming Approach Using C

  27. PROGRAM 14-7 Simple Shift-left Demonstration Computer Science: A Structured Programming Approach Using C

  28. PROGRAM 14-7 Simple Shift-left Demonstration Computer Science: A Structured Programming Approach Using C

  29. Table 14-7 Multiply by Shift Computer Science: A Structured Programming Approach Using C

  30. FIGURE 14-4 Right and Left Rotation Computer Science: A Structured Programming Approach Using C

  31. PROGRAM 14-8 Rotate Left and Right Test Driver Computer Science: A Structured Programming Approach Using C

  32. PROGRAM 14-8 Rotate Left and Right Test Driver Computer Science: A Structured Programming Approach Using C

  33. PROGRAM 14-8 Rotate Left and Right Test Driver Computer Science: A Structured Programming Approach Using C

  34. 14-4 Masks In many programs, bits are used as binary flags: 0 is off, and 1 is on. To set and test the flags, we use a bit mask. A mask is a variable or constant, usually stored in a byte or short integer. The bits are numbered from the least significant bit (rightmost), starting at 0. Topics discussed in this section: Creating Masks Using Masks Computer Science: A Structured Programming Approach Using C

  35. FIGURE 14-5 Bit Mask in a 16-bit Integer Computer Science: A Structured Programming Approach Using C

  36. PROGRAM 14-9 Determine Network Address Computer Science: A Structured Programming Approach Using C

  37. PROGRAM 14-9 Determine Network Address Computer Science: A Structured Programming Approach Using C

  38. PROGRAM 14-9 Determine Network Address Computer Science: A Structured Programming Approach Using C

  39. PROGRAM 14-9 Determine Network Address Computer Science: A Structured Programming Approach Using C

  40. PROGRAM 14-10 Determine Last Address in a Network Computer Science: A Structured Programming Approach Using C

  41. PROGRAM 14-10 Determine Last Address in a Network Computer Science: A Structured Programming Approach Using C

  42. PROGRAM 14-10 Determine Last Address in a Network Computer Science: A Structured Programming Approach Using C

  43. PROGRAM 14-10 Determine Last Address in a Network Computer Science: A Structured Programming Approach Using C

  44. FIGURE 14-6 Polynomial Coefficients Computer Science: A Structured Programming Approach Using C

  45. FIGURE 14-7 Polynomial Division Computer Science: A Structured Programming Approach Using C

  46. PROGRAM 14-11 Polynomial Division Computer Science: A Structured Programming Approach Using C

  47. PROGRAM 14-11 Polynomial Division Computer Science: A Structured Programming Approach Using C

  48. PROGRAM 14-11 Polynomial Division Computer Science: A Structured Programming Approach Using C

  49. PROGRAM 14-11 Polynomial Division Computer Science: A Structured Programming Approach Using C

  50. 14-5 Software Engineering In Chapter 12, we looked at what makes a good function. In this section, we look at how you design good programs. Topics discussed in this section: Payroll Case Study Structure Chart Design Computer Science: A Structured Programming Approach Using C

More Related