이븐-로데 부호화
Even–Rodeh coding이븐-로데 부호는 시몬 이븐과 마이클 [1]로데가 개발한 음이 아닌 정수를 인코딩하는 범용 코드입니다.
부호화
음수가 아닌 정수를 코드화하는 방법 N이븐-로드 부호화:
- 한다면N4보다 작으면 코드화된 값을 1로 설정합니다.
0
비트. 그렇지 않으면 코드화된 값이 비어 있습니다. - 한다면N8보다 작으면 코드화된 값 앞에 3비트의 값을 추가합니다.N그리고 멈추세요.
- 코드화된 값의 선두에 바이너리 표현을 추가합니다.N.
- 스텝 3에서 추가된 비트 수를 새로운 값으로 저장합니다.N.
- 순서 2로 돌아갑니다.
짝수-로데 부호화된 정수를 디코딩하려면:
- 3비트를 읽고 값을 저장합니다.N.
- 첫 번째 비트가
0
그럼 그만해디코딩된 번호는N. - 첫 번째 비트가
1
다음으로 스텝 2로 넘어갑니다.
- 첫 번째 비트가
- 다음 비트를 조사합니다.
- 비트가 있다면
0
1비트를 읽고 정지합니다.디코딩된 번호는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 |
︙ |
「 」를 참조해 주세요.
레퍼런스
- ^ 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.