파이썬 인터프리터에 큰 a (20 개의 숫자) b (4 개의 숫자) c (20 개의 숫자)가있는 b % c를 넣으면 (a, b, c)와 거의 비슷합니다. 나는 파이썬이 처음으로 ** b를 계산하고 결과의 모듈러스 (%)를 얻는 또 다른 행동을 기대하며 그러한 계산은 더 많은 시간이 걸릴 것이다. 현장 뒤의 마술은 어디에 있습니까?큰 숫자로 된 Python ** 및 % 연산자의 동작
1
A
답변
2
파이썬은 임의 정밀도 정수를 지원하는 것 외에 장면 뒤에는 마법이 없으며 잘 구현되어 있습니다. ** b를 계산하고 % c를 계산했습니다.
4
20 수치가 현대 컴퓨터에서는 다소 작습니다. 2000 년 수치를 비교해 보면 차이가있을 수 있습니다.
은 또한, 지난 질문과 관련이 : How did Python implement the built-in function pow()?
0
오늘날의 컴퓨터는 전혀 시간처럼 보이는에서 발생할 수있는 놀라 울 정도로 빠르고 아주 복잡한 계산이다. 지연을 확인하려면 이러한 계산을 여러 번 반복해야합니다. 백만 달러부터 시작 하겠어.
6
당신이 좋아하는 파이썬 인터프리터 뭔가에 입력하는 경우 : 다음 몇 초를보고
이20937505974095709374 ** 3438
기다립니다. 그런 노력 : 차이가 왜
20937505974095709374 ** 3438 % 6
을 그리고 더 대기를보고하지 않으며, 궁금, 당신은 첫 번째 인스턴스에서 볼 수있는 지연 실제로 터미널 버퍼와 거대한를 인쇄하는 데 걸리는 시간입니다 번호를 화면에 표시합니다.
+1
네, 각 계산을 오히려 변수에 할당하여 볼 수 있습니다. 그것을 인쇄하는 것보다. – kindall
'pow'를 사용하여'(x ** y) % z'를 효율적으로 계산할 수 있습니다. http://stackoverflow.com/questions/101268/hidden-features-of-python/3371415#3371415 –
참여해 주셔서 감사합니다. – Bole