← All examples

To hexadecimal

C++ Algorithms

loop + array

Flowchart (ISO 5807)

YesNoYesNoStartInput n* digits = "0123456789ABCDEF"k = 0n == 0Output «0»ReturnEndn > 0buf[k] = digits[n % 16]n /= 16k++i = k - 1, 0, -1Output buf[i]EndFigure 1 — toHex

Source code

void toHex(int n) {
    const char* digits = "0123456789ABCDEF";
    char buf[32];
    int k = 0;
    if (n == 0) {
        cout << "0";
        return;
    }
    while (n > 0) {
        buf[k] = digits[n % 16];
        n /= 16;
        k++;
    }
    for (int i = k - 1; i >= 0; i--) {
        cout << buf[i];
    }
}