이븐-로데 부호화

Even–Rodeh coding

이븐-로데 부호는 시몬 이븐마이클 [1]로데개발한 음이 아닌 정수를 인코딩하는 범용 코드입니다.

부호화

음수가 아닌 정수를 코드화하는 방법 N이븐-로드 부호화:

  1. 한다면N4보다 작으면 코드화된 값을 1로 설정합니다.0비트. 그렇지 않으면 코드화된 값이 비어 있습니다.
  2. 한다면N8보다 작으면 코드화된 값 앞에 3비트의 값을 추가합니다.N그리고 멈추세요.
  3. 코드화된 값의 선두에 바이너리 표현을 추가합니다.N.
  4. 스텝 3에서 추가된 비트 수를 새로운 값으로 저장합니다.N.
  5. 순서 2로 돌아갑니다.

짝수-로데 부호화된 정수를 디코딩하려면:

  1. 3비트를 읽고 값을 저장합니다.N.
    • 첫 번째 비트가0그럼 그만해디코딩된 번호는N.
    • 첫 번째 비트가1다음으로 스텝 2로 넘어갑니다.
  2. 다음 비트를 조사합니다.
    • 비트가 있다면01비트를 읽고 정지합니다.디코딩된 번호는N.
    • 비트가 있다면1그 다음에 읽다N비트, 값을 새 값으로 저장합니다.N스텝 2로 돌아갑니다.

번호 부호화 암묵적
0 000 1/8
1 001 1/8
2 010 1/8
3 011 1/8
4 100 0 1/16
5 101 0 1/16
6 110 0 1/16
7 111 0 1/16
8 100 1000 0 1/256
9 100 1001 0 1/256
15 100 1111 0 1/256
16 101 10000 0 1/512
2761 100 1100 101011001001 0 1/1,048,576

「 」를 참조해 주세요.

레퍼런스

  1. ^ Even, Shimon; Rodeh, Michael (April 1978). "Economical encoding of commas between strings". Communications of the ACM. 21 (4): 315–317. doi:10.1145/359460.359480.