2009-11-29 2 views
6

큰 정수는 있지만 고정 폭 (128 또는 256이면 충분)의 라이브러리를 찾고 있습니다. 이유는 힙에 대한 할당을 원하지 않기 때문입니다. 나는 그 (것)들을 직접 만들려고 노력했지만, 곱셈, 나눗셈 및 모듈로를 효율적인 방법으로 구현하는 것은 상당히 어려워 보인다.고정 길이가 큰 정수

어딘가에 이미 존재합니까?

감사

답변

4

GMP의 라이브러리를 살펴 보자 www.gmplib.org

기능 범주에서 인용 :

낮은 수준의 양의 정수, 하기 어려운를 사용, 매우 낮은 오버 헤드 함수는 mpn 범주에서 찾을 수 있습니다. 메모리 관리가 수행되지 않습니다. 호출자는 결과에 대해 충분한 공간이 있는지 확인해야합니다 ( ). (...)

당신이 필요로하는 것 같습니다.

+0

멋진! 나는 이걸 보길 원해. – Ben

3

적어도이 항목은 유망 해 보입니다 (Google에서 int128 library의 경우 8 번 누르십시오).

http://www.mx-3.cz/tringi/www/langen.php?id=int128

"다른 많은 수의 클래스와는 달리, 당신은 단지 (에 fwrite/FREAD를 사용하여 파일의 예를 저장 및로드에 대한) 다른 POD 유형. 이들의 내부 표현과 같이이 작업 할 수 올바른 128 비트입니다 리틀 엔디안 정수. "

2

맛보기에 너무 복잡한 GMP를 발견하면 그의 책 C Interfaces and Implementations에 Dave Hanson이 아주 좋은 기능을 제공합니다. 할당을하지 않고 (모든 것을 제어하는) 저수준 인터페이스가 있으며, 힙에 점진적으로 더 많은 할당을 관리하는 두 개의 상위 레벨 인터페이스가 있습니다.

+0

gmp로 작업하게 만들었지 만, 이것에 대해 살펴 보겠다. – Ben