Arduino Programming Language: BitwiseXor

Name

^ (bitwise XOR)

Description

Compares two expressions bit by bit and returns 1 for a position bit if one compared postitions is 1. Returns 0 for that position bit if both compared positions are 0 or 1. The following list shows all possible combinations:

1 ^ 0 // Evaluates 1 because the first is 1 
0 ^ 1 // Evaluates 1 because the second is 1 
1 ^ 1 // Evaluates 0 because both are 1 
0 ^ 0 // Evaluates 0 because both are 0

Syntax

expression1 ^ expression2

Parameters

  • expression1: any valid expression
  • expression2: any valid expression

Usage

Application

Examples

unsigned int a = 60; // 60 = 0011 1100
unsigned int b = 13; // 13 = 0000 1101
unsigned int c = 0;
c = a ^ b; // 49 = 0011 0001


Based on the reference originally written by Arduino Community,  wiring.org.co and  arduino.cc