Как я могу сделать 64-разрядную арифметику в Perl?

Ответ мог бы очень хорошо зависеть от компилятора, таким образом, Вы, вероятно, хотите отредактировать свой вопрос (я имею в виду, даже понятие сегментов не получает мандат ISO C, ни C++ ISO). Например, в Windows исполняемый файл не носит имена символа. Одно 'нечто' было бы смещено 0x100, другой, возможно, 0x2B0, и код от обеих единиц перевода компилируется, зная смещения для "их" нечто.

10
задан Alois Mahdal 28 July 2011 в 16:38
поделиться

3 ответа

Да, однако вам необходимо, чтобы Perl был скомпилирован с поддержкой 64-битной версии.

13
ответ дан 3 December 2019 в 15:35
поделиться

См. bigint :

Прозрачная поддержка BigInteger для Perl ...

Все операторы (включая базовые математические операции), кроме оператора диапазона .. перегружены. Целочисленные константы создаются как правильные BigInts.

Константы с плавающей запятой усекаются до целых чисел. Все части и результаты выражений также усекаются.

В отличие от integer , эта прагма создает целочисленные константы, размер которых ограничен только доступной памятью и временем процессора ...

10
ответ дан 3 December 2019 в 15:35
поделиться

Да, Perl автоматически обрабатывает арифметические операции с большими целыми числами. Однако Perl не предлагает различий между знаковыми и беззнаковыми типами (в этом нет необходимости, поскольку нет фиксированных границ для большого целочисленного диапазона).

На странице руководства perlnumber есть дополнительная информация о различных числовых форматы, поддерживаемые Perl.

5
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: