Я пытаюсь реализовать дополнительный алгоритм Multiply-With-Carry Джорджа Марсальи в C. Он, кажется, прекрасно работает в 64-битной Win7 и 32-битной Linux, но, кажется, странно ведет себя в 32-битной Win 7. Случайное число, которое он возвращает, является 32-битным, но есть внутреннее временное значение, которое должно быть 64-битным, и оно объявлено:
unsigned long long t;
Я подозреваю, что может быть причиной плохого поведения, поэтому мой вопрос:
Является ли тип "long long" 64 бит? Поддерживается ли это в 32-битной Windows?