문제

1024 비트 및 더 큰 정수 및 비트 작업을 제공하는 C ++ 클래스/라이브러리를 찾고 있습니다. - 비트 이동, - 비트 시대 또는/, - 먼저 제로 비트 위치

속도는 중요하므로 일부 SIMD 어셈블리로 구현해야합니다.

도움이 되었습니까?

해결책

여러 가지가 있습니다 GMP, 그러나 속도를 위해서는 최고 일 가능성이 높습니다 ttmath. 컴파일 타임에 템플릿 고정 길이를 사용하기로 한 Ttmath의 설계 결정은 매우 빠르게 가능합니다.

다른 팁

노력하다 GMP 라이브러리. C 라이브러리입니다. GMP 4.0부터 C ++ 래퍼가 릴리스와 함께 번들로 제공됩니다.

큰 정수 곱셈을 고려하십시오. Ttmath 라이브러리는 시간 복잡성 $ o (n^{1.585}) $를 가진 Karatsuba 알고리즘을 사용합니다. 가장 빠른 알고리즘은 FFT를 사용하여 $ O (N Log N Log N) $입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top