Adres IPv6 ma 8 hextetów (grup po 16 bitów) zapisanych szesnastkowo i rozdzielonych dwukropkami. Kompresja zapisu ma jedynie skrócić tekst, ale musi zachować możliwość odtworzenia dokładnie tego samego adresu.
Krok 1: usuń zera wiodące w każdym hextetcie. Zgodnie z regułą zapisu tekstowego usuwa się wyłącznie zera stojące na początku hextetu, np. 0EF0→EF0 oraz 0400→400. Nie wolno usuwać zer "ze środka" lub "z końca", bo to zmienia wartość liczby szesnastkowej.
Po tym kroku adres ma postać: FE80:0:0:0:EF0:0:0:400.
Krok 2: zastąp najdłuższą sekwencję kolejnych hextetów równych 0 operatorem "::". W tym adresie po FE80 występuje sekwencja trzech zer (0:0:0), a później sekwencja dwóch zer (0:0). Zastępuje się tylko najdłuższą sekwencję, a "::" może pojawić się tylko raz.
Dlatego poprawny wynik to: FE80::EF0:0:0:400.
Dlaczego pozostałe zapisy są błędne?
- FE80:0:0:0:EF:0:0:400 usuwa nie tylko zera wiodące, ale także końcowe w hextetcie 0EF0, zamieniając go na EF. To zmienia wartość hextetu, więc oznacza inny adres.
- FE80::EF:4 dodatkowo "obcina" 0400 do 4, co również zmienia wartość hextetu i daje inny adres niż wejściowy.
- FE80:0000:0000:0000:0EF0:0000:0000:0400 to forma nieskompresowana (z zachowanymi zerami wiodącymi), więc nie spełnia warunku "po kompresji".
Wskazówka egzaminacyjna: jeśli w odpowiedzi znikają cyfry inne niż zera wiodące (np. EF0→EF albo 400→4), to prawie na pewno doszło do zmiany wartości i zapis jest niepoprawny.