공부/기타

나누기 연산자는 왜 다른 연산자에 비해 느릴까?

셩잇님 2022. 12. 22. 01:47
반응형

 

 

그건 그냥 나누기가 다른 연산자에 비해 복잡한 계산이 많이 필요하기 때문에 느린 것이다.

 

당장 컴퓨터가 아닌 손으로 여러자리 수의 숫자를 더하기/빼기/곱하기/나누기를 당장 생각해보아도 더하기/빼기/곱하기보다 나누기가 훨씬 단계도 많고 더 오래 걸린다. 이는 컴퓨터에서 똑같이 적용된다. 똑같은 일을 컴퓨터로 처리하려고 해도 마찬가지 일 뿐이다.


보다 자세한 얘기하자면 이는 기계어까지 파고들어가야 한다. 나누기 op code(idiv/div)는 명령어는 곱하기 op code(imul/mul) 명령어 보다 처리하는 데 더 많은 클럭 수를 차지하고, 이는 곧 시간을 많이 잡아먹는다는 것을 뜻한다. 출처에 가보면 댓글에 논문의 링크까지 넣어주셨다.. 😮

 

 


 

 

출처 : https://kldp.org/comment/615402#comment-615402

 

곱하기 나누기 속도 | KLDP

최근 메모리 최적화에 대해서 조사하고 있는데요. 나누기 연산보다 곱하기 연산이 더 빠르게 수행되고 메모리를 적게 사용한다는데 왜 그런지 궁금합니다.

kldp.org

 

 

 

반응형