Алгоритм C / C ++: самый быстрый способ вычисления (2 ^ n)% d с 32- и 64-разрядными целыми числами n и d

Я ищу алгоритм, который позволяет мне вычислить(2^n)%d с участиемn и d 32 или 64 битные целые числа.

Проблема в том, что невозможно хранить2^n в памяти даже с библиотеками multiprecision, но, возможно, существует хитрость для вычисления(2^n)%d только используя 32 или 64-битные целые числа.

Большое спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос