4位格雷码连续性证明

4位格雷码连续性

前言

上的第二节数电课讲了下4位格雷码,我对格雷码为什么连续很感兴趣,就试着写下这些东西。如有纰漏,烦请指正,不胜感激。

前置知识

请先了解下列知识点:

  1. 格雷码
    1. 格雷码是什么
    2. 格雷码简单性质
    3. 格雷码和二进制相互的转换
  2. 模2加法(异或)
  3. 实际加法的位运算实现
  4. 一些常用数学符号
    1. 异或: ^或 ⊕ \oplus
    2. 非: ~ x x x x ‾ \overline{x} x

正文

对应表

十进制二进制格雷码
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

过程

设二进制为 x x x, 格雷码为 g ( x ) g(x) g(x)。将x四位分开,从高到低为 x 1 , x 2 , x 3 , x 4 x_1, x_2, x_3, x_4 x1,x2,x3,x4,同样,将 g ( x ) g(x) g(x)分为 g ( x ) 1 , . . . , g ( x ) 4 g(x)_1, ..., g(x)_4 g(x)1,...,g(x)4,即:
x = x 1 ∗ 2 3 + x 2 ∗ 2 2 + x 3 ∗ 2 1 + x 4 ∗ 2 0 x = x_1*2^3+x_2*2^2+x_3*2^1+x_4*2^0 x=x123+x222+x321+x420

对连续性,我们考虑 x x x x + 1 x+1 x+1及对应的格雷码,如下:

第一位第二位第三位第四位
x x x x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4
x + 1 x+1 x+1 x 4 & x 3 & x 2 ⊕ x 1 x_4\&x_3\&x_2\oplus x_1 x4&x3&x2x1 x 4 & x 3 ⊕ x 2 x_4\&x_3\oplus x_2 x4&x3x2 x 4 ⊕ x 3 x_4\oplus x_3 x4x3 x 4 ‾ \overline{x_4} x4
g ( x ) g(x) g(x) x 1 x_1 x1 x 1 ⊕ x 2 x_1\oplus x_2 x1x2 x 2 ⊕ x 3 x_2\oplus x_3 x2x3 x 3 ⊕ x 4 x_3\oplus x_4 x3x4
g ( x + 1 ) g(x+1) g(x+1) x 4 & x 3 & x 2 ⊕ x 1 x_4\&x_3\&x_2\oplus x_1 x4&x3&x2x1 ( x 4 & x 3 & x 2 ⊕ x 1 ) ⊕ ( x 4 & x 3 ⊕ x 2 ) (x_4\&x_3\&x_2\oplus x_1)\oplus (x_4\&x_3\oplus x_2) (x4&x3&x2x1)(x4&x3x2) ( x 4 & x 3 ⊕ x 2 ) ⊕ ( x 4 ⊕ x 3 ) (x_4\&x_3\oplus x_2)\oplus (x_4\oplus x_3) (x4&x3x2)(x4x3) x 3 ‾ \overline{x_3} x3

一些运算技巧(只针对1bit)

  • &和有优先级之分,即a&bc != ac&b,且&优先级高于
  • &和^都满足交换律
  • a^1 = ~a
  • a^0 = a
  • a^a = 0
假设法

连续两数只有1位不同,4位格雷码只需设4遍各位不同,证剩下的相同

1. 设第一位不同

有:

x 1 ‾ = x 4 & x 3 & x 2 ⊕ x 1 \overline{x_1} = x_4\&x_3\&x_2\oplus x_1 x1=x4&x3&x2x1
∴ x 4 & x 3 & x 2 = 1 \therefore x_4\&x_3\&x_2=1 x4&x3&x2=1
∴ x 4 = x 3 = x 2 = 1 \therefore x_4=x_3=x_2=1 x4=x3=x2=1

得:

第二位第三位第四位
g(x) x 1 ‾ \overline{x_1} x100
g(x+1) x 1 ‾ \overline{x_1} x100
2. 设第二位不同

有:

x 1 ⊕ x 2 ‾ = ( x 4 & x 3 & x 2 ⊕ x 1 ) ⊕ ( x 4 & x 3 ⊕ x 2 ) \overline{x_1\oplus x_2} = (x_4\&x_3\&x_2\oplus x_1)\oplus (x_4\&x_3\oplus x_2) x1x2=(x4&x3&x2x1)(x4&x3x2)
∴ x 1 ⊕ x 2 ‾ = ( x 4 & x 3 & x 2 ) ⊕ ( x 4 & x 3 ) ⊕ ( x 1 ⊕ x 2 ) \therefore \overline{x_1\oplus x_2} = (x_4\&x_3\&x_2)\oplus (x_4\&x_3)\oplus (x_1\oplus x_2) x1x2=(x4&x3&x2)(x4&x3)(x1x2)
∴ ( x 4 & x 3 & x 2 ) ⊕ ( x 4 & x 3 ) = 1 \therefore (x_4\&x_3\&x_2)\oplus (x_4\&x_3)=1 (x4&x3&x2)(x4&x3)=1
∴ x 4 & x 3 & x 2 = x 4 & x 3 ‾ \therefore x_4\&x_3\&x_2=\overline{x_4\&x_3} x4&x3&x2=x4&x3
∴ x 2 = 0 , x 4 & x 3 = 1 \therefore x_2=0, x_4\&x_3=1 x2=0,x4&x3=1
∴ x 2 = 0 , x 4 = x 3 = 1 \therefore x_2=0, x_4=x_3=1 x2=0,x4=x3=1

得:

第一位第三位第四位
g(x) x 1 x_1 x110
g(x+1) x 1 x_1 x110
3. 设第三位不同

有:

x 3 & x 2 ‾ = ( x 4 & x 3 ⊕ x 2 ) ⊕ ( x 4 ⊕ x 3 ) \overline{x_3\&x_2} = (x_4\&x_3\oplus x_2)\oplus (x_4\oplus x_3) x3&x2=(x4&x3x2)(x4x3)
∴ x 2 ⊕ x 3 ‾ = ( x 4 & x 3 ⊕ x 4 ) ⊕ ( x 2 ⊕ x 3 ) \therefore \overline{x_2\oplus x_3} = (x_4\&x_3\oplus x_4)\oplus (x_2\oplus x_3) x2x3=(x4&x3x4)(x2x3)
∴ x 4 & x 3 ⊕ x 4 = 1 \therefore x_4\&x_3\oplus x_4=1 x4&x3x4=1
x 3 = 1 x_3=1 x3=1, 有 x 4 ⊕ x 4 = 1 x_4\oplus x_4=1 x4x4=1, 显然不可能
∴ x 3 = 0 , x 4 = 1 \therefore x_3=0, x_4=1 x3=0,x4=1

得:

第一位第二位第四位
g(x) x 1 x_1 x1 x 1 ⊕ x 2 x_1\oplus x_2 x1x21
g(x+1) x 1 x_1 x1 x 1 ⊕ x 2 x_1\oplus x_2 x1x21
4. 设第四位不同

有:

x 3 ⊕ x 4 = x 3 x_3\oplus x_4 = x_3 x3x4=x3
∴ x 4 = 0 \therefore x_4=0 x4=0

得:

第一位第二位第三位
g(x) x 1 x_1 x1 x 1 ⊕ x 2 x_1\oplus x_2 x1x2 x 2 ⊕ x 3 x_2\oplus x_3 x2x3
g(x+1) x 1 x_1 x1 x 1 ⊕ x 2 x_1\oplus x_2 x1x2 x 2 ⊕ x 3 x_2\oplus x_3 x2x3

后记

  1. 鉴于本人愚钝,暂时未想出容易理解、容易推广的证明方法。而且只是证明连续性,还是不知道连续的原因
  2. markdown数学公式中^符号是怎么打出来的,虚心求教
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值