void f(uint64_t flag, const uint8_t *src, uint8_t *dst) { int dstByteOff = 0; int srcByteOff = 0; for(int b = 0; b < 64; ++b){ if(flag & (UINT64_C(1) << b)){ dst[dstByteOff++] = 0; } else{ dst[dstByteOff++] = src[srcByteOff++]; } } }