Только поразрядно - или компоненты вместе с соответствующими сдвигами.
int64 combined = random | (hostname << 18) | (seconds << (18+12)) ... etc.
Получите вещи, сдвигая и вставляя их.
random = combined & 0x3FFFF
hostname = (combined >> 18) & 0xFFF;
etc.