Perl에서 64 비트 산술을 어떻게 할 수 있습니까?
문제
나는 perl 초보자입니다.
Perl에서 간단히 64 비트 산술을 사용할 수 있습니까?
예를 들어
$operand1 = 0xFFFFFFFFFFFF; # 48 bit value
$operand2 = 0xFFFFFFFFFFFF; # 48 bit value
$Result = $operand1 * $operand2;
- 나는 기본적으로 Perl에서 int64_t를 대체하려고합니다.
- 변수가 서명되거나 서명되지 않은 경우 언급 할 방법이 있습니까?
해결책
예, 그러나 64 비트 지원으로 Perl을 편집해야합니다.
다른 팁
예, Perl은 자동으로 큰 정수 산술을 처리합니다. 그러나 Perl은 서명 된 유형과 부호없는 유형을 구별하지 않습니다 (큰 정수 범위에 고정 된 경계가 없기 때문에 필요하지 않습니다).
그만큼 통증관 수동 페이지에는 Perl에서 지원하는 다양한 숫자 형식에 대한 자세한 정보가 있습니다.
Perl의 64 비트 산술은 하나이지만 Sprintf %d %u 및 %s로 표시되는 것은 두 번째입니다. 현재 Perl 버전은 문제없이 64bits를 지원하지만 Sprintf %D 형식은 아니고 %B도 마찬가지입니다.
use bigint
정수 오버플로없이 Perl이 임의의 크기 정수를 올바르게 처리합니다.
예를 들어 :
use bigint;
print 1 << 256;
인쇄 :
115792089237316195423570985008687907853269984665640564039457584007913129639936
제휴하지 않습니다 StackOverflow