<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.multimediaexpo.cz/mmecz/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
		<id>http://www.multimediaexpo.cz/mmecz/index.php?action=history&amp;feed=atom&amp;title=Gray%C5%AFv_k%C3%B3d</id>
		<title>Grayův kód - Historie editací</title>
		<link rel="self" type="application/atom+xml" href="http://www.multimediaexpo.cz/mmecz/index.php?action=history&amp;feed=atom&amp;title=Gray%C5%AFv_k%C3%B3d"/>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;action=history"/>
		<updated>2026-06-22T06:19:23Z</updated>
		<subtitle>Historie editací této stránky</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=3054146&amp;oldid=prev</id>
		<title>Sysop: ++</title>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=3054146&amp;oldid=prev"/>
				<updated>2025-04-02T10:46:07Z</updated>
		
		<summary type="html">&lt;p&gt;++&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 2. 4. 2025, 10:46&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádka 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{Grayův kód podle počtu bitů}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Soubor:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Binary-Gray-Code&lt;/ins&gt;.png|thumb|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;240px&lt;/ins&gt;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Srovnání dvojkového a Grayova kódu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;podbarvením je vyznačen různý rozsah hodnot pro různé počty použitých bitů&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Soubor:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Logical connectives Hasse diagram&lt;/del&gt;.png|thumb|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;upright=2&lt;/del&gt;|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Stavový diagram čtyř bitového systému&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;grayův kód přechází právě po jeho hranách: mění vždy hodnotu právě jednoho bitu.&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Zrcadlový binární kód''', známý také jako '''Grayův kód''' podle [[Frank Gray|Franka Graye]], je binární číselná soustava, ve které se každá dvě po sobě jdoucí čísla liší v jediné číslici.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Zrcadlový binární kód''', známý také jako '''Grayův kód''' podle [[Frank Gray|Franka Graye]], je binární číselná soustava, ve které se každá dvě po sobě jdoucí čísla liší v jediné číslici.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Zrcadlový binární kód byl původně navržen pro zabránění rušivého výstupu z elektromechanických přepínačů ([[hazard]]y [[relé]]). Dnes je Grayův kód používán pro podporu opravy chyb v digitální komunikaci jako je [[DVB-T|digitální pozemní televize]] a některé systémy [[kabelová televize|kabelové televize]]. Také některé [[snímač]]e polohy (nebo natočení) udávají polohu v Grayově kódu, aby byl vyloučen výskyt chybné hodnoty při přechodu mezi dvěma sousedními polohami. Grayův kód využívají také [[odpovídač]]e sekundárního [[radar]]u v letadlech.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Zrcadlový binární kód byl původně navržen pro zabránění rušivého výstupu z elektromechanických přepínačů ([[hazard]]y [[relé]]). Dnes je Grayův kód používán pro podporu opravy chyb v digitální komunikaci jako je [[DVB-T|digitální pozemní televize]] a&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;&lt;/ins&gt;některé systémy [[kabelová televize|kabelové televize]]. Také některé [[snímač]]e polohy (nebo natočení) udávají polohu v Grayově kódu, aby byl vyloučen výskyt chybné hodnoty při přechodu mezi dvěma sousedními polohami. Grayův kód využívají také [[odpovídač]]e sekundárního [[radar]]u v letadlech.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Důvod vzniku ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Důvod vzniku ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sysop</name></author>	</entry>

	<entry>
		<id>http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=604114&amp;oldid=prev</id>
		<title>Sysop: 1 revizi</title>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=604114&amp;oldid=prev"/>
				<updated>2014-04-14T11:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;1 revizi&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Starší verze&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Verze z 14. 4. 2014, 11:36&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sysop</name></author>	</entry>

	<entry>
		<id>http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=604113&amp;oldid=prev</id>
		<title>Sysop: 1 revizi</title>
		<link rel="alternate" type="text/html" href="http://www.multimediaexpo.cz/mmecz/index.php?title=Gray%C5%AFv_k%C3%B3d&amp;diff=604113&amp;oldid=prev"/>
				<updated>2011-09-12T10:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 revizi&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Grayův kód podle počtu bitů}}&lt;br /&gt;
[[Soubor:Logical connectives Hasse diagram.png|thumb|upright=2|Stavový diagram čtyř bitového systému, grayův kód přechází právě po jeho hranách: mění vždy hodnotu právě jednoho bitu.]]&lt;br /&gt;
'''Zrcadlový binární kód''', známý také jako '''Grayův kód''' podle [[Frank Gray|Franka Graye]], je binární číselná soustava, ve které se každá dvě po sobě jdoucí čísla liší v jediné číslici.&lt;br /&gt;
&lt;br /&gt;
Zrcadlový binární kód byl původně navržen pro zabránění rušivého výstupu z elektromechanických přepínačů ([[hazard]]y [[relé]]). Dnes je Grayův kód používán pro podporu opravy chyb v digitální komunikaci jako je [[DVB-T|digitální pozemní televize]] a některé systémy [[kabelová televize|kabelové televize]]. Také některé [[snímač]]e polohy (nebo natočení) udávají polohu v Grayově kódu, aby byl vyloučen výskyt chybné hodnoty při přechodu mezi dvěma sousedními polohami. Grayův kód využívají také [[odpovídač]]e sekundárního [[radar]]u v letadlech.&lt;br /&gt;
&lt;br /&gt;
== Důvod vzniku ==&lt;br /&gt;
Použití tohoto kódu má význam v [[elektrický obvod|elektrických obvodech]] při čtení hodnoty nesynchronizovaných [[čítač]]ů (sem spadá i výše zmiňované čidlo polohy). Obecně se problém zajištění &amp;quot;současnosti&amp;quot; v digitálních systémech řeší pomocí synchronizačního (nebo také hodinového) signálu, avšak v některých případech může být použití synchronizačního signálu nevýhodné.&lt;br /&gt;
&lt;br /&gt;
Při zvýšení hodnoty klasického binárního čítače o jedničku se v mnoha případech mění současně více pozic čítače. Např. při přechodu tříbitového čístače z čísla 3 (binárně 011) na číslo 4 (binárně 100) se současně změní všechny tři pozice. V reálném systému není nikdy možné zaručit, aby se změnilo více logických hodnot naprosto současně, není možné zajistit ani jejich naprosto současné přečtení a vyhodnocení. To znamená, že v případě výše zmíněného tříbitového binárního čítače se může v nepříznivém případě při čtení &amp;quot;na hraně&amp;quot; stát, že přečteme zcela náhodnou hodnotu od 0 (000) do 7 (111).&lt;br /&gt;
&lt;br /&gt;
Následující příklad znázorňuje graficky čtení bez Grayova kódu.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:Dualcode cs.png|400px|Teoretický a skutečný binární signál]]&lt;br /&gt;
&lt;br /&gt;
Ve výše uvedené ukázce by měl obvod plynule přecházet do následujicích stavů:&lt;br /&gt;
&lt;br /&gt;
 0000, 0001, 0010, 0011, 0100, 0101, 0110, ...&lt;br /&gt;
&lt;br /&gt;
Díky různým zpožděním se v časech t&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; až t&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; a t&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; až t&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; dostane obvod do vyznačených stavů:&lt;br /&gt;
&lt;br /&gt;
 0000, 0001, '''(0000)''', 0010, 0011, 0100, 0101, '''(0111)''', 0110, ...&lt;br /&gt;
&lt;br /&gt;
Je tak narušen plynulý průběh hodnoty, což může v praxi způsobovat značné nepříjemnosti. Právě tyto přechodové jevy jsou eliminovány použitím Grayova kódu, jak se lze přesvědčit na následujícím obrázku.&lt;br /&gt;
&lt;br /&gt;
[[Soubor:GraycodeCs.png|400px|Teoretický a skutečný signál Grayova kódu]]&lt;br /&gt;
&lt;br /&gt;
=== Další využití ===&lt;br /&gt;
Pro svou robustnost se běžne používá pro inkrementální (relativní) [[senzor]] polohy na principu jedné rotující clonky se dvěma úhlově posunutými optickými sensory. Používá se nejen u [[Číslicové řízení|CNC]] strojů, ale i u obyčejné [[Počítačová myš|myši]]: Umožňuje totiž nejen načítání vzdálenosti, ale i směr pohybu.&lt;br /&gt;
&lt;br /&gt;
== Převod na binární kód a naopak ==&lt;br /&gt;
{{Šestnáctková soustava}}&lt;br /&gt;
Převod z Grayova kódu na klasický [[binární kód]] lze snadno realizovat pomocí [[logický člen|logických členů]] [[XOR]] zapojených následovně.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 g0 -&amp;gt;--------------[     ]&lt;br /&gt;
                    [ XOR ]--&amp;gt; b0&lt;br /&gt;
                  +-[     ]&lt;br /&gt;
 g1 -&amp;gt;---[     ]  |&lt;br /&gt;
         [ XOR ]--+----------&amp;gt; b1&lt;br /&gt;
       +-[     ]&lt;br /&gt;
       |&lt;br /&gt;
 g2 -&amp;gt;-+---------------------&amp;gt; b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro převod opačným směrem, tedy z binárního kódu na Grayův, lze použít následující zapojení.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 b0 -&amp;gt;---[     ]&lt;br /&gt;
         [ XOR ]--&amp;gt; g0&lt;br /&gt;
       +-[     ]&lt;br /&gt;
       |&lt;br /&gt;
 b1 -&amp;gt;-+-[     ]&lt;br /&gt;
         [ XOR ]--&amp;gt; g1&lt;br /&gt;
       +-[     ]&lt;br /&gt;
       |&lt;br /&gt;
 b2 -&amp;gt;-+----------&amp;gt; g2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Velmi snadno lze převod do grayova kódu naprogramovat v [[C (programovací jazyk)|jazyku C]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
unsigned int gray_encode(unsigned int b) {&lt;br /&gt;
  return b ^ (b &amp;gt;&amp;gt; 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Převod z grayova do binárního kódu vyjde v C-jazyku o něco složitěji:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
unsigned int gray_decode( unsigned int g ) {&lt;br /&gt;
  unsigned int i, b;&lt;br /&gt;
  b = 0;&lt;br /&gt;
  for( i=0; i&amp;lt;8*sizeof(g); i++ )  {&lt;br /&gt;
    b &amp;lt;&amp;lt;= 1;&lt;br /&gt;
    b |= ((b&amp;gt;&amp;gt;1)&amp;amp;0x1) ^ (g&amp;gt;&amp;gt;(8*sizeof(g)-1));&lt;br /&gt;
    g &amp;lt;&amp;lt;= 1;&lt;br /&gt;
  }&lt;br /&gt;
  return b;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Převod do grayova kódu v [[Pascal (programovací jazyk)|Pascalu]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function GrayEncode(b: Longint): Longint;&lt;br /&gt;
begin&lt;br /&gt;
 GrayEncode := b xor (b shr 1);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Související články ==&lt;br /&gt;
* [[Logický člen]]&lt;br /&gt;
* [[Kombinační obvod]]&lt;br /&gt;
* [[Sekvenční obvod]]&lt;br /&gt;
* [[senzor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Článek z Wikipedie}}&lt;br /&gt;
[[Kategorie:Kombinatorika]]&lt;br /&gt;
[[Kategorie:Elektrotechnika]]&lt;br /&gt;
[[Kategorie:Číslicová technika]]&lt;br /&gt;
[[Kategorie:Dvojková soustava]]&lt;/div&gt;</summary>
		<author><name>Sysop</name></author>	</entry>

	</feed>