내가 처음으로 제대로 프로그램을 짜보게 된것은 숙제 때문이다. 진수변환 프로그램. (16진수까지 지원해야 한다.)



a 진법을 b 진법으로 변환하기 위해서는 간단히

a진법 -> 10진법 -> b 진법으로 변환하면 된다. 그리고 그 방법은 수학적이다. (물론 프로그램을 처음 만들 때는 수학적인 것 그대로 구현하는 것도 꽤 고통스럽다. while 한 번 사용하는 법 몰라, 인터넷을 뒤지고, 다녀야 한다. )


가장 고생한 부분은 16진수 표현을 어떻게 해야 하는가이다. 어떻게 10 이라는 값을 a 로 변환 할 것인가이다. 이런 걸로 고생많이했다. 지금 생각해 보면 배열사용하면 된다. 너무나 당연하다. 좀 다르게 구현 할려면 간단한 if 문 정도. 내 기억으로는 난 switch 문을 사용한 것 같은데.

난, 그때 너무 고지식했는지 배열사용하면 메모리까 조금 낭비되니까, 메모리 효율을 최적으로 꼭 만들어야 한다고 생각했다. (사실 코드가 길어지면 메모리가 더 낭비되는데.)

프로그램을 처음 만드는 사람들은 이런 식의 생각을 가지게 된다.


완전 무결하고, 메모리 사용이 최적이어야 하고, 속도도 가장 빠르게 만드는 방법을 찾아 할려고 한다. 그렇게 만들면 고생 심하게 하는데, 그러다 프로그래밍이 어렵다고 하면서 그만 둔다.


프로그램을 처음부터 완전 무결 할 수는 없다. 더구나 처음 만드는 사람이..


내가 그 때 만든 프로그램을 다시 보면 정말 재미있을 것이다. 라이브러리에 있는 함수인지도 모르고 함수 만들어 사용하고...