large number divide 구현하기
글쓴이: gusiri / 작성시간: 목, 2008/06/05 - 1:00오전
large number를 다루는 계산기를 만들고 있습니다.
1~1024 bit 의 두 수를 각각 배열에 넣어서 나눗셈을 하려고 합니다.
처음에 나눗셈은 빼기로 구현할수 있다는 생각에
A / B 에서
A가 B보다 작을때까지 A-B 를 하면되겠다고 생각했습니다. 그러나...예상 하셨듯이
10000000000 / 1 처럼 두 수의 자릿수 차이가 큰경우 수행시간이 상당히 오래걸렸습니다.
혹시 large number 나눗셈을 구현하는 효율적인 알고리즘 이나 아이디어, 코드를 알고 계신분 도움부탁 드립니다!
Forums:
참고가 될는지...
c++고vector<char>데이터를 가지고 하는 거지만 혹시나해서
링크 걸어 봅니다.
http://www.codeproject.com/KB/cpp/largenumber.aspx
초등학교 산수시간에
초등학교 산수시간에 하는 나눗셈의 원리를 사용하시면 됩니다.
차이점이 있다면 초등학교 산수책은 10진수가 1자리수가 되지만, 컴퓨터로 하면 32비트 숫자 자체가 1자리 수가 됩니다.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
http://gmplib.org/ GMP를
http://gmplib.org/
GMP를 참고해보셔도 좋을 것 같네요.
댓글 달기