c programming for engineers bit manipulation
play

C Programming for Engineers Bit Manipulation ICEN 360 Spring 2017 - PowerPoint PPT Presentation

C Programming for Engineers Bit Manipulation ICEN 360 Spring 2017 Prof. Dola Saha 1 Bitwise Operation Computers represent all data internally as sequences of bits. Each bit can assume the value 0 or the value 1. The bitwise


  1. C Programming for Engineers Bit Manipulation ICEN 360– Spring 2017 Prof. Dola Saha 1

  2. Bitwise Operation Ø Computers represent all data internally as sequences of bits. Ø Each bit can assume the value 0 or the value 1. Ø The bitwise operators are used to manipulate the bits of integral operands both signed and unsigned. Ø Unsigned integers are normally used with the bitwise operators. Ø Bitwise manipulations are machine dependent. 2

  3. Bitwise Operator 3

  4. Bitwise Operation Example n=13 00001101 ~n 11110010 00001101 n << 1 00011010 Lost 0 0 Inserted 00001101 n << 3 Lost Inserted 01101000 three 0s three 0’s 00001101 n >> 3 Inserted 00000001 101 Lost three 0s 4

  5. Bitwise Operation Example n 00001101 m 01010101 n&m 00000101 00001101 n m 01010101 n|m 01011101 00001101 n m 01010101 n^m 01011000 5

  6. Display Bits Example (1) 6

  7. Display Bits Example (2) 7

  8. Bitwise Operation Example Code (1) 8

  9. Bitwise Operation Example Code (2) 9

  10. Bitwise Operation Example Code (3) 10

  11. Bitwise Operation Example Code (4) 11

  12. Bitwise Operation Example Code Output 12

  13. Bitwise Operation Application: TCP segment structure 32 bits URG: urgent data counting source port # dest port # (generally not used) by bytes sequence number of data ACK: ACK # (not segments!) acknowledgement number valid head not receive window U A P R S F PSH: push data now Len (4) used # bytes (generally not used) checksum Urg data pointer rcvr willing to accept RST, SYN, FIN: options (variable length) connection estab (setup, teardown commands) application data Internet (variable length) checksum (as in UDP) 13

  14. Multiply and Divide by Bitwise Operation Ø Left Shift § Multiply Ø Right Shift § Divide 14

  15. Revisiting Classwork Assignment Ø Write a program to generate data for N students. Use structure to create numeric ID and points (max 100) as 2 separate members of the structure. Randomly generate data for N students. Display both the ID and the points of the student who has received highest point. Write three separate functions to complete the program: 1. generateStudentData(), input is array of students 2. printStudentInfo(), input is a single student 3. getTopStudent(), input is array of students and output is a single student 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend