코딩테스트
2021. 7. 7.
[C++] 해밍코드
숙제 2 (해밍 코드) 데이터에서가장낮은자리의비트의위치를1로정하고, 자리가한자리씩높아질수록그위치를2, 3, 4, ...으로부여한다. 1. 데이터에서2의거듭제곱이되는위치(예를들어, 1, 2, 4, 8, 16, 32, 64 등)의비트는모두패리티비트로사용된다. 2. 다른모든위치의비트는실제데이터를위하여사용된다. 3. 각위치의패리티비트는해밍코드의특정위치에있는비트들의패리티를나타낸다. 위치가1, 2, 4, 8, 16 등에있는패리티비트를P1, P2, P4, P8, P16등으로나타낼때, 이패리티비트가검사하는비트의위치는다음과같다(아래그림참조). 3.1. P1: 위치가1인비트에서시작하여, 한비트를검사하고, 한비트를건너뛰고, 한비트를검사하고, 한비트를건너뛰어검사하는것을반복한다. 단,위치가1인비트(P1자신)는검사하지않는다. 3..