#include <iostream>
#include <bitset>
// Gray code is a binary numeral system where two successive values differ by only one bit.
int main() {
int decimal = 2; // The decimal number
int grayCode = decimal ^ (decimal >> 1); // Calculate Gray code
std::cout << "Decimal: " << decimal << " → Binary: " << std::bitset<8>(decimal) << "\n";
std::cout << "Gray code: " << grayCode << " → Binary: " << std::bitset<8>(grayCode) << "\n";
}
/*
run:
Decimal: 2 → Binary: 00000010
Gray code: 3 → Binary: 00000011
*/