Kod samouzupełniający

1

Co to znaczy, że kod jest samouzupełniający? Chciałbym, żeby ktoś mi to wytłumaczył dobrze.

PS: Nie wiedziałem w jakim dziale umieścić ten temat. Żaden dział nie pasuje.

0

Nie ma czegoś takiego, pomyliłeś z trybem samouzupełniania dostępnym w większości współczesnych IDE.
Np zadeklarowałeś zmienne: int width,height;
Po czym niżej piszesz: wi i naciskasz <Ctrl-Enter> IDE uzupełnia to do width

0

Chyba że chodzi mu o kod, który sam się modyfikuje.

2

Autorowi zapewnie zachodzi o kodowanie liczb znane np. z układów cyfrowych...

Binarny kod samouzupełniający (self-complementing code) to taki kod, w którym uzupełnienie binarne liczby do 1 jest równe uzupełnieniu dziesiętnym do 9.

Przykładem takiego kodu jest Excess-3 (czyli od binarnej liczby odejmujemy 3):

binarnie | dziesietnie | Excess 3
0011 | 3 | 0 (w Excess 3)
0100 | 4 | 1
0101 | 5 | 2
0110 | 6 | 3
0111 | 7 | 4
1000 | 8 | 5
1001 | 9  | 6
1010 | 10 | 7
1011 | 11 | 8
1100 | 12 | 9

I teraz na czym to wszystko polega:
uzupełnienie binarne do 1 liczby X (czyli negacja każdego bitu) daje jakąś nową liczbę X', dla przykładu 0011 po zanegowaniu daje 1100.
Uzupełnienie dziesiętne do 9 liczby X (czyli odjęcie 9 od każdej cyfry) daje jakąś nową liczbę X', dla przykładu 9 - 9 = 0, 9 - 8 = 1.

I teraz Excess-3 jest samouzupełniający, bo:

0011 = 0
po zanegowaniu
1100 = 9

czyli 9-0 = 9 (zgadza się)

0100 = 1
po zanegowaniu
1011 = 8

czyli 9-1=8

i tak dalej dla wszystkich liczb z tabelki...

Pod hasłem self-complementing code będzie to lepiej wyjaśnione; chciałem tylko naszkicować o co chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1