Kod Graya.

Slides:



Advertisements
Podobne prezentacje
Minimalizacja formuł Boolowskich
Advertisements

Grafy spełniające nierówność Γ(G) < IR(G)
DYSKRETYZACJA SYGNAŁU
Grażyna Mirkowska PJWSTK 15 listopad 2000
UKŁADY ARYTMETYCZNE.
dr A Kwiatkowska Instytut Informatyki
Programowanie I Rekurencja.
Badania operacyjne. Wykład 2
Michał Łasiński Paweł Witkowski
Wykład no 11.
QUIZ MATEMATYCZNY.
Ciągi de Bruijna generowanie, własności
Reprezentowanie i przetwarzanie informacji przez człowieka i komputer. Patrycja Białek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Sprzętowa Implementacja Algorytmów
Macierz incydencji Macierzą incydencji grafu skierowanego D = (V, A), gdzie V = {1, ..., n} oraz A = {a1, ..., am}, nazywamy macierz I(D) = [aij]i=1,...,n,
Zapis informacji Dr Anna Kwiatkowska.
Systemy liczbowe.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
opracowanie: Agata Idczak
UKŁADY LICZENIA SYSTEMY LICZBOWE
Ciąg liczbowy Ciąg arytmetyczny Ciąg geometryczny
Informatyka I Język ANSI C
Przegląd podstawowych algorytmów
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Reprezentacja stało i zmiennopozycjna
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
od systemu dziesiętnego do szesnastkowego
Systemy liczbowe.
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Elżbieta Fiedziukiewicz
Liczby rzeczywiste ©M.
Liczby całkowite dodatnie BCN
Sterowanie – metody alokacji biegunów II
Posługiwanie się systemami liczenia
Źródła błędów w obliczeniach numerycznych
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Spis treści W świecie algortmów -Budowa algorytmu
Matematyka i system dwójkowy
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Pudełko Urządzenia Techniki Komputerowej
KARTY DŹWIĘKOWE.
Programowanie Niskopoziomowe
Dwójkowy system liczbowy
T. 3. Arytmetyka komputera. Sygnał cyfrowy, analogowy
Temat 8: Pętle.
Danuta Stanek KODOWANIE LICZB Systemy liczenia III.
Podstawy Techniki Cyfrowej
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Zasady arytmetyki dwójkowej
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
WYKŁAD 5 OPTYKA FALOWA OSCYLACJE I FALE
Podstawy programowania
METODY REPREZENTOWANIA IFORMACJI
System dwójkowy (binarny)
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Liczby 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, …(i tak dalej) nazywamy liczbami naturalnymi. Tak jak z liter tworzy się słowa, tak z cyfr tworzymy liczby. Dowolną.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Copyright 2009 © by Michał Szymański. Systemy liczbowe można porównać do języków świata. Tak jak jedno słowo można przedstawić w wielu różnych językach,
Rozpatrzmy następujące zadanie programowania liniowego:
Elementy cyfrowe i układy logiczne
Niedziesiątkowe systemy liczenia
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Kinga Cichoń.
ALGORYTMY I STRUKTURY DANYCH
Format rozkazu Tryby adresowania.
SHA1 – Secure Hash Algorithm
Zapis prezentacji:

Kod Graya

Kod Graya Kod Graya, zwany również kodem refleksyjnym, jest dwójkowym kodem bezwagowym niepozycyjnym, który charakteryzuje się tym, że dwa kolejne słowa kodowe różnią się tylko stanem jednego bitu. Jest również kodem cyklicznym, bowiem ostatni i pierwszy wyraz tego kodu także spełniają w/w zasadę. Kodem Graya długości n jest ciąg wszystkich 2n różnych ciągów n cyfr {0,1}, ustawionych tak, że dwa kolejne ciągi cyfr różnią się dokładnie jedną z nich. Używa się go w przetwornikach analogowo-cyfrowych, szczególnie w systemach gdzie występują po sobie kolejne wartości np. czujniki położenia/obrotu. Kodów Graya można używać do etykietowania pojedynczych procesorów w sieci będącej hiperkostką.

Rozszerzanie kodu Graya Rozszerzanie kodu Graya o 1 bit przeprowadza się wg następującego algorytmu: Dopisz te same słowa kodowe, ale w odwrotnej kolejności (odbicie lustrzane) Do początkowych wyrazów dopisz bit o wartości zero, natomiast do odbitych lustrzanie bit o wartości 1.

Kod Graya jako zagadnienie grafowe Niech G będzie grafem. Jeżeli V(G) będzie zbiorem {0,1}n wszystkich ciągów cyfr binarnych długości n i połączymy dwa ciągi (wierzchołki) krawędzią tylko wtedy, gdy różnią się one na jednej pozycji, to cykl Hamiltona w G wyznacza jednoznacznie kod Graya długości n.

Przykład konstruowania kodu 4-bitowego

Prosta konwersja z naturalnego kodu binarnego na kod Graya Zamiast konstruowania tablicy kodu Graya dla liczby zapisanej w kodzie dwójkowym można znaleźć odpowiednik w kodzie Graya w następujący sposób: przesunąć liczbę w postaci binarnej o jeden bit w prawo (podzielić przez 2) wykonać operację XOR na odpowiednich bitach liczby i wyniku dzielenia liczby przez 2. W języku programowania C tę operację można zapisać następującym wyrażeniem: gray = liczba ^ (liczba / 2) lub gray = liczba ^ (liczba >> 1)

Konwersja z kodu Graya na naturalny kod binarny Kolejne cyfry naturalnego kodu binarnego wyznacza się iteracyjnie, od najbardziej znaczącej, w oparciu o odpowiednią cyfrę kodu Graya i poprzednio wyznaczoną cyfrę kodu naturalnego: przyjmij pierwszą (najbardziej znaczącą) cyfrę kodu naturalnego równą pierwszej cyfrze kodu Graya każdą kolejną cyfrę oblicz jako różnicę symetryczną (XOR) odpowiedniej cyfry kodu Graya i poprzednio wyznaczonej cyfry kodu naturalnego.

Przykład przeliczenia Wynik: słowu 1010 w kodzie Graya odpowiada ciąg 1100 w kodzie naturalnym, czyli liczba 12. Rzeczywiście, jak pokazuje przedstawiona wyżej konstrukcja, 1010 jest trzynastym słowem kodowym 4-bitowego kodu, a więc (przy numeracji rozpoczynającej się od zera) odpowiada mu liczba 12.