
- C# Basic Tutorial
- C# - Home
- C# - Overview
- C# - Environment
- C# - Program Structure
- C# - Basic Syntax
- C# - Data Types
- C# - Type Conversion
- C# - Variables
- C# - Constants
- C# - Operators
- C# - Decision Making
- C# - Loops
- C# - Encapsulation
- C# - Methods
- C# - Nullables
- C# - Arrays
- C# - Strings
- C# - Structure
- C# - Enums
- C# - Classes
- C# - Inheritance
- C# - Polymorphism
- C# - Operator Overloading
- C# - Interfaces
- C# - Namespaces
- C# - Preprocessor Directives
- C# - Regular Expressions
- C# - Exception Handling
- C# - File I/O
- C# Advanced Tutorial
- C# - Attributes
- C# - Reflection
- C# - Properties
- C# - Indexers
- C# - Delegates
- C# - Events
- C# - Collections
- C# - Generics
- C# - Anonymous Methods
- C# - Unsafe Codes
- C# - Multithreading
- C# Useful Resources
- C# - Questions and Answers
- C# - Quick Guide
- C# - Useful Resources
- C# - Discussion
C# Bitwise and Bit Shift Operators
Bitwise operator works on bits and performs bit by bit operation.
The Bitwise operators supported by C# are listed in the following table. Assume variable A holds 60 and variable B holds 13 −
Operator | Description | Example |
---|---|---|
& | Bitwise AND Operator copies a bit to the result if it exists in both operands. | (A & B) = 12, which is 0000 1100 |
| | Bitwise OR Operator copies a bit if it exists in either operand. | (A | B) = 61, which is 0011 1101 |
^ | Bitwise XOR Operator copies the bit if it is set in one operand but not both. | (A ^ B) = 49, which is 0011 0001 |
~ | Bitwise One's Complement Operator is unary and has the effect of 'flipping' bits. | (~A ) = 61, which is 1100 0011 in 2's complement due to a signed binary number. |
<< | Bitwise Left Shift Operator The left operands value is moved left by the number of bits specified by the right operand. | A << 2 = 240, which is 1111 0000 |
>> | Bitwise Right Shift Operator The left operands value is moved right by the number of bits specified by the right operand. | A >> 2 = 15, which is 0000 1111 |
Example
The following is an example showing how to implement the Bitwise operators in C#.
using System; namespace MyApplication { class Program { static void Main(string[] args) { int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; // Bitwise AND Operator c = a & b; /* 12 = 0000 1100 */ Console.WriteLine("Line 1 - Value of c is {0}", c ); // Bitwise OR Operator c = a | b; /* 61 = 0011 1101 */ Console.WriteLine("Line 2 - Value of c is {0}", c); // Bitwise XOR Operator c = a ^ b; /* 49 = 0011 0001 */ Console.WriteLine("Line 3 - Value of c is {0}", c); // Bitwise Complement Operator c = ~a; /*-61 = 1100 0011 */ Console.WriteLine("Line 4 - Value of c is {0}", c); // Bitwise Left Shift Operator c = a << 2; /* 240 = 1111 0000 */ Console.WriteLine("Line 5 - Value of c is {0}", c); // Bitwise Right Shift Operator c = a >> 2; /* 15 = 0000 1111 */ Console.WriteLine("Line 6 - Value of c is {0}", c); Console.ReadLine(); } } }
Output
Line 1 - Value of c is 12 Line 2 - Value of c is 61 Line 3 - Value of c is 49 Line 4 - Value of c is -61 Line 5 - Value of c is 240 Line 6 - Value of c is 15
- Related Articles
- Bitwise right shift operators in C#
- Left Shift and Right Shift Operators in C/C++
- Bitwise Operators in C++
- Bitwise Operators in C
- What are the bitwise zero fill right shift zero operators in Java?
- Explain JavaScript Bitwise NOT, Left shift and Right shift?
- What are Left Shift and Right Shift Operators (>> and
- What are shift operators in C++?
- Java Shift operators
- What are bitwise operators in C#?
- Java Bitwise Operators
- Python Bitwise Operators
- Perl Bitwise Operators
- What is JavaScript Bitwise Left Shift(
- What is Bitwise Left Shift Operator (

Advertisements