что интересно, при использовании 64-битного макро и unsigned long long int последовательность получается совершенно ошибочной по непонятной причине, однако если использовать макро на 32 бита и выделять массив под элементы типа unsigned int то всё в порядке