C/C++/비트/쉬프트2011. 8. 23. 12:19
약 한달전쯤에 BigInteger Class를 만들어서 글을 블로그에 올렸습니다.
그 후로, 블로그에 들어오는 사람들의 접속자 통계를 보니..
쌩뚱맞게도 "비트연산" 이라는 키워드가 1위였습니다. ㅡㅡ;;

그래서.. 이왕 이렇게 된거.. 비트연산, 쉬프트 연산에 대해
정리해보기로 하였습니다.
( 정리라기 보다는 비트연산과 쉬프트 연산을 어떨 때 쓰면 유용할지에 대해 쓰겠습니다.. ^^; )
사실 저도 딱히 많이 아는게 아니라서 글이 몇개나 나올지는 모르겠습니다만..
그냥 생각 날 때마다 하나하나씩 쓰다보면 언젠가 많아지겠지..
라는 생각으로 시작하겠습니다. 
Posted by 투명테잎
낙서2011. 8. 18. 15:56
1. blk 관리하는 allocate, reallocate함수 수정하기

 - 할당, 재할당, 초기화 세 부분으로 나누기

2. 입, 출력에 double_dabble 알고리즘 사용하기

 - 빠르다. 출력 부분은 더블대블 알고리즘을 사용하였지만, 출력 부분은
홀수 진법이 난해하여 그래도 두웠다.

3. 오버로딩 함수를 만드는데 있어
&를 정의하고
&=를 &를 이용하여 정의하는것과

&=를 정의하고
&를 &=를 이용하여 정의하는것에 차이가 있는가?

- 전자가 더 낫다.

4. 덧셈, 뺄셈 알고리즘 최적화 해보기

- 했다. 하지만, 덧셈, 뺄셈에 사용되는 알고리즘은 흔히 학교에서 배우는 것이 최선이다.
따라서, 동일 알고리즘 상에서, 메모리 할당, 해제의 횟수를 줄이는 것으로
알고리즘을 최적화 하였다.

5. 곱셈 알고지름 수정.
현재는 long multiplication만을 사용하지만
곱하는 두 수의 길이에 따라 다른 알고리즘을 사용해야
속도상의 이득을 볼 수 있다.
찾아보고 구현해서 적용하자

6. abs 함수등 전처리기로 만들 수 있는것은 바꾸자.
#undef와
#define을 사용하면 될 것같다.


- 되긴 개뿔. 에러가 뜬다. 그냥 내비뒀다.

7. 나누기 알고리즘은 좀더 좋은 알고리즘이 없는가?
곱셈 알고리즘은 다양하게 있지만 나누기 알고리즘은 다양하지 않다.
내가 찾지 못하는 것일 수도 있으니 일단 찾아보자.

8. 기타 연산의 알고리즘을 바꾸자.
지수연산, 팩토리얼, 최대공약수 등,
대충 찾아본것만으로도 여러 알고리즘이 있었다.
찾아보고 이해하고 구현해서 적용하자. 
Posted by 투명테잎
낙서2011. 7. 26. 22:44
클래스 설계하다가 만.. 스도쿠 도우미.. 만들기!!

당분간은 바빠서 못 만들겠지만

나중에 만들기!! 
Posted by 투명테잎