Bitwise Operations
Curriculum[edit]
Coder Merlin™ Computer Science Curriculum Data  
Unit: Boolean algebra Experience Name: Bitwise Operations (W1015) Knowledge and skills:
Topic areas: Boolean algebra Classroom time (average): 10 minutes Study time (average): 60 minutes Successful completion requires knowledge: understand the use of bitwise operations with common Boolean operators Successful completion requires skills: demonstrate proficiency in using bitwise operations with common Boolean operators 
Bitwise Operations[edit]
A bitwise operation operates on one or more bit patterns at the level of their individual bits. It is a fast, simple action supported by the ALU (Arithmetic Logic Unit) and is used to manipulate values for comparisons and calculations. The normal operation is simply applied bit by bit.
NOT[edit]
NOT 0111 ———————— = 1000
Caution  
Note that because zero bits are "flipped" to one bits the actual size of the word matters. For example,
NOT 0111 = 1000 when considering only a fourbit word, but in the case of an eightbit word the correct answer would be: = 1111 1000 As such, it's usually best to leftpad the operand with zeroes before proceeding. For example, NOT 0000 0111 = 1111 1000 
AND[edit]
The AND operation is useful for masking bits that are not interesting and then checking to see if a particular bit is set.
0101 AND 0011 ———————— = 0001
OR[edit]
0101 OR 0011 ———————— = 0111
XOR[edit]
The XOR operation is useful for inverting selected bits:
0101 XOR 0011 ———————— = 0110
Because of this property, XOR is sometimes used to clear a register (to zero) by XOR’ing it with itself. In some cases this can be much faster than explicitly loading the value of 0.
1010 XOR 1010 ———————— = 0000
Exercises[edit]
Exercises  

Experience Metadata
Experience ID  W1015 

Unit  Boolean algebra 
Knowledge and skills  §10.326 
Topic areas  Boolean algebra 
Classroom time  10 minutes 
Study time  1 hour60 minutes <br /> 
Acquired knowledge  understand the use of bitwise operations with common Boolean operators 
Acquired skill  demonstrate proficiency in using bitwise operations with common Boolean operators 
Additional categories 