Convert Binary to Hexadecimal program in C++

bookmark

#include <iostream>
using namespace std;

int main() {
    char binaryNumber[1000], hexadecimalNumber[1000];
    int temp;
    long int binaryIndex = 0, hexadecimalIndex = 0;

    cout << "Enter Binary Number: ";
    cin >> binaryNumber;

    while (binaryNumber[binaryIndex]) {
        binaryNumber[binaryIndex] = binaryNumber[binaryIndex] - 48;
        ++binaryIndex;
    }
    --binaryIndex;

    while (binaryIndex - 2 >= 0) {
        temp = binaryNumber[binaryIndex - 3] * 8 + binaryNumber[binaryIndex - 2] * 4 + binaryNumber[binaryIndex - 1] * 2 + binaryNumber[binaryIndex];
        if (temp > 9) {
            hexadecimalNumber[hexadecimalIndex++] = temp + 55;
        } else {
            hexadecimalNumber[hexadecimalIndex++] = temp + 48;
        }
        binaryIndex = binaryIndex - 4;
    }

    if (binaryIndex == 1) {
        hexadecimalNumber[hexadecimalIndex] = binaryNumber[binaryIndex - 1] * 2 + binaryNumber[binaryIndex] + 48;
    } else if (binaryIndex == 0) {
        hexadecimalNumber[hexadecimalIndex] = binaryNumber[binaryIndex] + 48;
    } else {
        --hexadecimalIndex;
    }

    cout << "\nHexadecimal Number equivalent to Binary Number: ";
    while (hexadecimalIndex >= 0) {
        cout << hexadecimalNumber[hexadecimalIndex--]
    }

    return 0;
}

 

Output

Enter Binary Number: 1010101
Hexadecimal Number equivalent to Binary Number: 155