TAOCP V4.F2 格雷码(1)

   
TAOCP V4.F2 格雷码(1)
1、预备知识:关于异或
      第四卷的第一册是关于布尔代数的,不过还未出版。而作者在描述格雷码的时候,异或出现的次数很频繁,先了解一点异或的性质有好处。
性质:
1、ab=ba
2、(ab)c=a(bc)
3、abca=bc
4、a0=a
5、a1:将a的二进制表示的最后1位取补
6、a(-1):将a的二进制表示的后n位按位取补
2、知识浏览
     
1、格雷码的形式定义:
                           
                            
      其中:表示空串,R表示反序,即reverse order。
2、令g(k)表示二进制格雷码k的对应数值,那么,若k=+r  (r<),则:
                            g(k)=+g(-1-r)
3、若k=()B,g(k)=()B,那么:
                            aj=bjbj+1         0<=j<=n-1                                            (7)
     
      证明:用数学归纳法,对k进行归纳。
      1):k=1时,显然成立。
      2):假设k<T时,命题均成立。
      3):当k=T时,若T=(1)B,即:T=2n+()B,于是,有:
                                        g(T)=+g(-1-()B)
                 也就是:g(T)=+g( (11...1)B - ()B )
                 (11...1)B - ()B,就是将按位取补,因此,上式等价于:
                                       g(T)=+g( (-1)()B )
                                              =2n+g( ( )B )   其中 =bj1
                 而 g( ( )B )
                      = g( (bn-11)(bn-11bn-21)...(b11b01) )
                    =g( (bn-11)(bn-1bn-2)...(b1b0) )
                 故:g(T)=+g( (-1)()B )
        =g( 1(bn-11)(bn-1bn-2)...(b1b0) )
    因此,当k=T时,命题也成立。
  综上,命题成立!
4、由g(k)得到k的反转公式:
               
    证明:
   由(7)有:aj=bjbj+1
      因此:    aj+1=bj+1bj+2
                      ...
                      an-2=bn-2bn-1
                      an-1=bn-10
      将以上的式子依次异或,得到:
       ajaj+1...an-2an-1=bjbj+1bj+1bj+2...bn-2bn-1bn-10
     也就是:
    bj0=ajaj+1...an-2an-1
     即:
    bj=ajaj+1...an-2an-1
5、由异或运算的结合律,就可以得到 
6、证明:
           
     证明:
            因为  g(+r)=+g(-1-r)  
           而:-1-r=r(2n-1)
           因此,g(-1-r)=g( r(2n-1) )
           又由(11)得:
                       g(-1-r)=g(r)g(2n-1)
           而,g(2n-1)=100...0
           故g(-1-r)=g(r)100...0
           由对应关系,知道:
                          g(-1-r)对应于
           因此:
                  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值