저는 c로 약간 임의의 정밀도를 쓰고 있습니다. (gmp와 같은 라이브러리가 존재한다는 것을 알고 있습니다. 너트를 쓰면 재미 있습니다. 직접 연습 해보십시오.) if 배열은 매우 긴 정수를 표현하는 가장 좋은 방법이고, 더 좋은 해결책이있을 수도 있습니다 (체인이 연결되었을 수도 있습니다)? 그리고 둘째 파이썬 작업이 큰 정수를 가질 않는 방법? (이 배열이나 다른 기술을 사용합니까?)임의의 정밀도 정수 저장
사전에 감사
저는 c로 약간 임의의 정밀도를 쓰고 있습니다. (gmp와 같은 라이브러리가 존재한다는 것을 알고 있습니다. 너트를 쓰면 재미 있습니다. 직접 연습 해보십시오.) if 배열은 매우 긴 정수를 표현하는 가장 좋은 방법이고, 더 좋은 해결책이있을 수도 있습니다 (체인이 연결되었을 수도 있습니다)? 그리고 둘째 파이썬 작업이 큰 정수를 가질 않는 방법? (이 배열이나 다른 기술을 사용합니까?)임의의 정밀도 정수 저장
사전에 감사
시도 독서 문서에 있습니다. 내가 본 것으로부터 정수가 동적으로 할당 된 것처럼 구현되는 것 같습니다. 이는 숫자가 커질 때 realloc 될 것입니다. http://gmplib.org/manual/Integer-Internals.html#Integer-Internals을 참조하십시오.
잘 이해하면 gmp는 배열에 임의의 정수를 저장합니까? 또한 잘 이해한다면'int'라고 입력하면 배열입니다. 그리고 제 질문은, 각 팔다리가 0과 9 사이의 값만 받아들이 기 때문에 왜 '짧은 int'이 아닌지, 다시, 잘 이해한다면? 미리 감사드립니다. – BigFoot
일반적으로 크기가 기계어와 동일한 셀을 사용하는 것이 효율적입니다. 보통 'int'또는 'long'입니다. 또한 수는 기수 10에 저장되지만 기저 N에 저장됩니다. 여기서 N은 셀이 가질 수있는 최대 값입니다. 예 : 숫자 770을 저장하고 셀이 바이트라고 가정 해 보겠습니다. 왜냐하면 '2 + 256 * 3 = 770'이므로'2,3 '으로 저장됩니다. – tohava
예에서 각 셀은 N = 255? 또한 각 셀에 대해 10보다 더 큰 기준을 갖는 것이 더 빠르고 경제적 일 것이라고 제안하고 있습니까? 미리 감사드립니다. – BigFoot
파이썬 긴 정수 그냥 객체 헤더와 함께 간단한 구조로 구현되는 모든 응답 정수 배열 (플랫폼에 따라 16 비트 또는 32 비트 정수일 수 있음)
코드에 대한 libgmp
, 이미 bigints를 구현 http://hg.python.org/cpython/file/f8942b8e6774/Include/longintrepr.h
Python, C 또는 Python을 지원할 C로 작성된 라이브러리에 대해 묻고 싶습니다. – levengli
불명확 한 질문에 실례합니다 : c로 라이브러리를 작성하고 싶습니다. 하지만 잘못이 아니라면 파이썬은 c로 작성되어 있으므로 어떻게 작동하는지 알고 싶습니다. 그런 작업을 수행 할 수 있습니다. – BigFoot
변경 가능하거나 변경할 수없는 정수를 만들 계획이 있습니까? 당신이 가변적 인 정수를 지원하기를 원한다면 * 아마도 * 링크 된 목록을 사용하면 재 할당을 피할 수는 있지만 결국은 더 빠를 것이라고 생각합니다. – Bakuriu