이것에 대해 특별히 생각해 본적은 없었는데 오늘 생각해봤다.
대부분의 프로그래머나 일부 관심있는 사람들은 알겠지만 2진수와 16진수 사이의 변환은 쉽다.
 
0100100001110101 은 0x4875이다.
 
16은 2의 4승이므로 2진수 4개가 모여 하나의 16진수 숫자를 표현할 수 있다.
그래서 4개 단위로 나눠 0100 1000 0111 0101 로 나눈 후 4개씩 변환한다.
2진수 4자리가 각각 8,4,2,1로 그 비트가 1이면 그 수만큼 더하면 된다.
 
0100은 8x0 + 4x1 + 2x0 + 1x0 = 0x4
1000은 8x1 + 4x0 + 2x0 + 1x0 = 0x8
0111은 8x0 + 4x1 + 2x1 + 1x1 = 0x7
0101은 8x0 + 4x1 + 2x0 + 1x1 = 0x5
 
물론 나는 이런것에 대해 논리적으로 생각해보지 않았었고 경험상 알게된거다..
그럼 2진수나 16진수와 10진수 사이의 변환은 왜 어려운가?
 
위의 논리대로 계산이 가능하도록 하려면 다음을 만족해야한다.
10진수는 정수중 어떤 수의 몇승인가?
 
3진수와 9진수라면 3의 2승이므로 3을 두개 단위로 끊어서 계산하면 된다.
21 01 20 == 7 1 6
3진수와 27진수라면 3을 3개 단위로.
210 120 == 21 15
 
하지만 10은 그런 수가 없다.
혹시 숫자 10은 단순히 손가락이 열개이기 때문에 훌륭한 숫자인걸까?


싸이 블로그 백업 [하zi 2008.08.12 14:51]

우리는 무언가 변화를 시도할 때 더 좋은 결과를 바라며 시행한다.
하지만 그 변화가 바로 좋은 결과를 내는 경우는 거의 없다.
대부분은 변화를 시도한 사람들이 혼돈(카오스)에 빠지는 경우가 생긴다.
자신이 익숙했던 것과의 사고 방법의 차이로 인해 당장에 업무효율이 떨어진다.
이때 도전자에게 한번의 선택의 순간이 다가온다.
현재 빠진 혼돈을 실패로 보고 다시 예전으로 되돌리느냐, 아니면 혼돈을 넘어서기 위해 사고의 전환을 시도하느냐이다.

<그림 1. 새티르 변화 모델>
 
낡은 현상태 : 지금 보기엔 불합리하며 개판이라 할 수 있겠지만, 그 당시엔 노력을 해서 만든 상태이므로 무의미 하지는 않다.
카오스 : 모든 사람들은 변화를 거부한다고 하므로 어찌보면 당연한 혼란상태. 하강곡선이 나타나며 생소한 것 때문에 전보다 상황이 더 나빠졌다고 여기게 된다.
실행과 융합 : 고통의 끝이 머지 않았다는 희망을 가지게 되면서 생각의 변화가 생긴다. 익숙해져가고 있다는 이야기.
새로운 현상태 : 처음에 새로운 것이라고 생각했던 것을 하고 있다면 이미 새로운 현상태에 도달한 것.
 
참조 목록
1 피플웨어 <30. 변화를 두려워 하지 말라>
2. http://www.poemi.net/346


싸이 블로그 백업 [2008.07.07 16:29]

+ Recent posts