ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Gray-code - Wikipedia

Gray-code

Uit Wikipedia, de vrije encyclopedie

Een Gray-code is een binaire codering die als eigenschap heeft dat twee opeenvolgende getallen altijd maar één bit verschillen. In tegenstelling tot een gewogen binaire code is de code niet via een eenvoudige optelsom van machten van twee te herleiden. Ook zijn er meerdere mogelijkheden om Gray-codes samen te stellen.

Gray-codes kunnen toegepast worden waar bijvoorbeeld een mechanische positie omgezet moet worden naar een digitale code. Als een van de positiegevers defect is of als niet alle positiegevers exact gelijktijdig schakelen zal de code altijd nog "in de buurt" van de werkelijke waarde zijn. Bij gewogen codes zal bij een fout in een van de meer significante bits de fout aanzienlijk groter kunnen zijn.

[bewerk] Voorbeeld

Decimaal Gray Gewoon binair
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 1 0 0 1 0
3 0 0 1 0 0 0 1 1
4 0 1 1 0 0 1 0 0
5 0 1 1 1 0 1 0 1
6 0 1 0 1 0 1 1 0
7 0 1 0 0 0 1 1 1
8 1 1 0 0 1 0 0 0
9 1 1 0 1 1 0 0 1
10 1 1 1 1 1 0 1 0
11 1 1 1 0 1 0 1 1
12 1 0 1 0 1 1 0 0
13 1 0 1 1 1 1 0 1
14 1 0 0 1 1 1 1 0
15 1 0 0 0 1 1 1 1

Bij de overgang tussen stand 7 en 8 wijzigen bij een gewogen-binair gecodeerde gever alle bits. Een windvaan met 16 sectoren en 4-bits codering zal dan, als hij tussen code 7 en 8 staat te twijfelen, misschien een tussenstand 1111 of 0000 (of alle andere mogelijke codes!) kunnen geven, bij een Gray-code is er geen twijfel tussen 0100 en 1100 omdat alleen het linker bit wijzigt.

[bewerk] Een algoritme

Een algoritme om een Gray-code van een willekeurig aantal bits samen te stellen gaat als volgt:

Neem een 1-bits code, bijvoorbeeld:

0: 0
1: 1

Zet de tabel in omgekeerde volgorde onder of boven het al bestaande en zet in een nieuwe kolom bij het oude stuk een 0 en bij het nieuwe stuk een 1 (het originele deel is vet weergegeven, de nieuwe kolom cursief):

stap 1 stap 2 stap 3
0: 0 0 0 0 0 0
1: 1 0 1_ 0 0 1_
2: x 1 1 0 1 1
3: x 1 0 0 1 0__
4: x x x 1 1 0
5: x x x 1 1 1_
6: x x x 1 0 1
7: x x x 1 0 0

Herhaal dit totdat het gewenste aantal bits bereikt is.

[bewerk] Een ander talstelsel

Ook met andere talstelsels is een Gray-code mogelijk. Bijvoorbeeld decimaal:

Normaal decimaal Gray decimaal
van t/m van t/m
0 9 000 009
10 19 019 010
20 29 020 029
30 39 039 030
90 99 099 090
100 109 190 199
110 119 189 180
120 129 170 179


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -