ð² ã°ã¬ã€ã³ãŒã倿
2鲿°ãæšæºã®åå°2é²ã³ãŒã(ã°ã¬ã€ã³ãŒã)ã«å€æããŸãã¯ãã®éãè¡ãããŒã«ã§ããã°ã¬ã€ã³ãŒãã¯é£ãåãå€å士ã§ãããã1ã€ããå€åããªãç¹æ§ãæã¡ãããŒã¿ãªãŒãšã³ã³ãŒããŒãããžã¿ã«åè·¯ã®èª€ã鲿¢ã«äœ¿ãããŸãã
äœ¿ãæ¹
- ã2鲿°âã°ã¬ã€ã³ãŒãããŸãã¯ãã°ã¬ã€ã³ãŒãâ2鲿°ãã¢ãŒããéžæããŸãã
- 0ãš1ã§æ§æããããããåãå ¥åããŸãã
- å€æçµæãš10鲿°è¡šèšãèªåçã«è¡šç€ºãããŸãã
èšç®ã®ä»çµã¿
ã°ã¬ã€ã³ãŒãïŒäº€çª2é²ç¬Šå·ïŒã¯ãé£ãåãæ°ã«ç§»ããšãã2鲿°ã®1ãããã ããå€ããããã«äžŠã¹ã笊å·ã§ãã1953幎ã«ãã©ã³ã¯ã»ã°ã¬ã€ãç¹èš±ãåã£ãããšããããã®ååã§åŒã°ããŠããŸãã 2鲿°ããã°ã¬ã€ã³ãŒããž: å ã®æ°ãšãããã1ãããå³ã«ããããæ°ã®XORïŒæä»çè«çåïŒãåããŸãã ã°ã¬ã€ã³ãŒã ïŒ n XOR (n >> 1) ã°ã¬ã€ã³ãŒããã2鲿°ãž: ã°ã¬ã€ã³ãŒãã1ããããã€å³ã«ããããªããããã¹ãŠXORããŠãããŸãã æ®éã®2鲿°ã§ã¯ãããšãã° 3ïŒ011ïŒãã 4ïŒ100ïŒã«å€ãããšã3ããããåæã«å€ãããããèªã¿åãã®ã¿ã€ãã³ã°ãããããšäžç¬ãŸã£ããéãå€ã«èŠããããšããããŸããã°ã¬ã€ã³ãŒããªãå¿ ã1ãããããå€ãããªãããããã®åé¡ãèµ·ããŸããããã®ããŒã«ã¯æå€§32ããããŸã§æ±ããŸãã
èšç®äŸ
0ã7ã®ã°ã¬ã€ã³ãŒãïŒ3ãããïŒ 0 â 000 1 â 001 2 â 011 3 â 010 4 â 110 5 â 111 6 â 101 7 â 100 2鲿° 101ïŒ5ïŒâ 101 XOR 010 ïŒ 111 ã°ã¬ã€ã³ãŒã 111 â 1 XOR 1 XOR 1 âŠ ãšæ»ããš 101ïŒ5ïŒ
䜿çšäžã®æ³šæ
- å転è§åºŠãèªã¿åãããŒã¿ãªãŒãšã³ã³ãŒããŒããã«ã«ããŒå³ïŒè«çåè·¯ã®ç°¡ååïŒãªã©ã§äœ¿ãããŠããŸãã
- æåŸã®å€ïŒ7 ïŒ 100ïŒããæåã®å€ïŒ0 ïŒ 000ïŒã«æ»ããšãã1ãããããå€ãããªããããããã£ãšäžåšããçšéã«åããŠããŸãã
- å ¥åã¯0ãš1ã®æååã§ãæ¡æ°ïŒãããæ°ïŒã¯å ¥åããé·ãã«åãããŠè¡šç€ºããŸãã
ãããã質å
ã°ã¬ã€ã³ãŒããšã¯äœã§ãã?
é£ãåãæ°å€ã®ããã衚çŸã1ãããããç°ãªããªããåå°2é²ã³ãŒããšåŒã°ããæšæºã®ãããå衚çŸã§ããããŒã¿ãªãŒãšã³ã³ãŒããŒãã«ã«ããŒå³ãªã©ã§äœ¿ãããŸãã
ã©ããªå€æåŒã䜿ã£ãŠããŸãã?
2鲿°ããã°ã¬ã€ã³ãŒããžã®å€æã¯ gray = binary XOR (binary >> 1)ãé倿ã¯ã°ã¬ã€ã³ãŒãã®åããããäžäœããé ã«XORã§ç³ã¿èŸŒãæšæºçãªæ¹æ³ã䜿çšããŠããŸãã
3ãããã®ã°ã¬ã€ã³ãŒãã®äžŠã³ãæããŠãã ããã
000, 001, 011, 010, 110, 111, 101, 100 ã®é ã«ãªããŸããããã¯æšæºã®åå°2é²ã³ãŒãã®äžŠã³ã§ãã