Can you summarize the following document?
        
  格雷碼(Gray code)是由貝爾實驗室的Frank Gray在1940年提出,用於在PCM(脈衝編碼調變)方法傳送訊號時防止出錯,並於1953年三月十七日取得美國專利。格雷碼是一個數列集合,相鄰兩數間只有一個位元改變,為無權數碼,且格雷碼的順序不是唯一的。

  傳統的二進位制系統例如數字3的表示法為011,要切換為鄰近的數字4,也就是100時,裝置中的三個位元都得要轉換,因此於未完全轉換的過程時裝置會經歷短暫的,010,001,101,110,111等其中數種狀態,也就是代表著2、1、5、6、7,因此此種數字編碼方法於鄰近數字轉換時有比較大的誤差可能範圍。格雷碼的發明即是用來將誤差之可能性縮減至最小,編碼的方式定義為每個鄰近數字都只相差一個位元,因此也稱為最小差異碼,可以使裝置做數字步進時只更動最少的位元數以提高穩定性。 數字0～7的編碼比較如下:  十進位制 格雷碼 二進位制

  以二進位制為0值的格雷碼為第零項,第一項改變最右邊的位元,第二項改變右起第一個為1的位元的左邊位元,第三、四項方法同第一、二項,如此反覆,即可排列出n個位元的格雷碼。

  n位元的格雷碼可以從n-1位元的格雷碼以上下鏡射後加上新位元的方式快速的得到,如右圖所示一般。

  (假設以二進位制為0的值做為格雷碼的0) G:格雷碼 B:二進位制碼 n:正在計算的位 根據格雷碼的定義可得: G(n) = B(n+1) XOR B(n) 即 G(n) = B(n+1) + B(n) 自低位至高位運算即可,無需考慮進位,例略。

  由於G(n) = B(n+1) + B(n) 故而B(n) = -B(n+1)+ G(n) 自高位至低位運算即可,無需考慮借位。  例: 格雷碼0111,為4位數,故設二進位制數自第5位至第1位分別為:0 b3 b2 b1 b0。 b3= 0-0 =0 b2=b3-1=0-1=1 b1=b2-1=1-1=0 b0=b1-1=0-1=1 因此所轉換為之二進位制碼為0101

  中國的古老益智玩具九連環有著和格雷碼完全相同的數學模式,外國一款名為spin out的玩具也是運用相同的數學模式。
格雷碼(迴圈二進位制單位距離碼)是任意兩個相鄰數的程式碼只有一位二進位制數不同的編碼,它與奇偶校驗碼同屬可靠性編碼。