#pragma once

// out must be at least 8 bytes long
inline void itoa(int val, char* out) {
    for (int i = 0; i < 8; i++) {
        uint8_t digit = (val >> (28 - 4 * i)) & 0xf;
        if (digit < 0xa) {
            out[i] = '0' + digit;
        } else {
            out[i] = 'a' + digit - 0xa;
        }
    }
}