알고리즘

gamma code

고요한하늘... 2007. 11. 23. 14:49

number     unary code     length             offset           r code                
--------------------------------------------------------------------------------------
0000          0                                                                           
0001          10                 0                                           0                     
0002          110               10                      0                  10,0                  
0003          1110              10                      1                  10,1                  
0004          11110             110                    00                 110,00                
0009          1111111110      1110                  001                1110,001              
0013                               1110                  101                1110,101              
0024                               11110                1000                11110,1000            
0511                               111111110           11111111         111111110,11111111    
1025                               11111111110        0000000001      11111111110,0000000001

 

 

 

0009          1111111110      1110                  001                1110,001              

9는 1110 001로 인코딩 된다.

 

이걸 역으로 따라가면

우선 1110  마지막 영은 구분을 위해서 필요한것이기 때문에 제거

그러면 111 = 7

다음 001 = 1

7 + 1 = 8

처음 0을 저장하는 공간을 절약하기 위해서 인코딩하는 숫자에서 1을 뺀값을 인코딩한다.

 

다시 말하면 9 = 7 +  1 + 1

 

0013                               1110                  101                1110,101            

그럼 13의 경우는

 

13에서 우선 1을 빼면 12가 된다.

 1110,101  에서 처번째 111은 =7이되고

101 = 5

13  = 7 + 5 + 1

 

 

1025                               11111111110        0000000001      11111111110,0000000001

 

1025는

1025에서 1을 빼고 1024

0000000001 = 1

1111111111 = 1024

1025 = 1024 +  1 + 1

 

length를 결정하는건 log함수를 이용한다.

 

1025의 경우

log1025 = 10

구분자 1

length = 11자리

마지막 1자리를 0으로 하고 앞부분은 모두 1로

 

 

나머지는

1025 - 2^(log1025) = 1025 - 2^10 = 1025 - 20 = 1005

 

log1025 = 10자리..

 

 

열라 복잡하다...

 

--- 작업중 ---

 

 

 

 

'알고리즘' 카테고리의 다른 글

Expectation Maximization  (0) 2008.09.15
index-compression( relative-10 )  (0) 2007.12.14
ternary search tree  (0) 2007.10.31
Bayes' theorem  (0) 2007.06.03
비터비(viterbi) 알고리즘  (0) 2007.05.24