先日某勉強会で出たグレイコードについて、一応概念的には知っていたのですが、実装とかをよく知らなかったため調査。 グレイコードについてはWikipediaに結構詳しく書いてあります。 グレイコード - Wikipedia このグレイコード、何がいいかというと、数字的な近さがそのままグレイコード表現でも近くなることです。 普通の2進数の場合だと、例えば、 7 => 0111 8 => 1000となって、数字上ではとなりの数字なのに、2進数では4ビットも違う表現になってしまいます。 しかし、グレイコードの場合は、 7 => 0100 8 => 1100のようになって、数字上のとなりの数字が、グレイコード表現でも1ビット違いで表現されます。 このグレイコードの構成方法ですが、いろいろとあるのですが、ひとつの簡単な方法としては「反射2進グレイコード」というものがあります。 これは前半部分のグレイコー
![グレイコード - WebCrawler2](https://cdn-ak-scissors.b.st-hatena.com/image/square/20f02d873c293c525e05b64e68d6a012eba6c781/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F8cf8e4156c3beac88c88614c4c16d809f665aa65%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fecx.images-amazon.com%252Fimages%252FI%252F41DYYQAGRDL.jpg)