余3循环码是变权码,每一位的1并不代表固定的数值。
具有格雷码的优点,即两个相邻代码之间仅有一位的状态不同。十进制数的余3循环码就是取4位格雷码中的十个代码组成的。余3循环码是变权码,每一位的1并不代表固定的数值,它具有格雷码的优点,即两个相邻代码之间仅有一位的状态不同。
循环码是线性码的一个重要的子类,它有以下两大特点:码的结构可以用代数方法来构造和分析,并且可以找到各种实用的译码方法;由于其循环特性,编码运算和伴随式计算,可用反馈移位寄存器来实现,硬件实现简单。
循环码特征
在一个(n,k)循环码中,存在唯一的一个n-k次码多项式:每一个码多项式C(x)都是g(x)的一个倍式,反之每个为g(x)倍式,且次数小于等于n-1的多项式必是一个码多项式。
由此可见,(n,k)循环码中的每一个码多项式C(x)均可由下式表示:
如果m(x)的系数(mk-1…m1m0)就是表示待编码的k位信息位,则C(x)就是对应于此信息组m(x)的码多项式。因此(n,k)循环码完全可由g(x)确定。g(x)也称为循环码(n,k)的生成多项式。g(x)的次数n-k等于码中一致校验位的位数。
以上内容参考 百度百科-余3循环码
以上内容参考 百度百科-循环码
这里的加3不是指格雷码按照自然二进制算法加3,而是指格雷码按照格雷码算法加3。
你看到格雷码这一列。比如,格雷码0000加3,就是从格雷码0000往下数3个,得到格雷码0010,即余3格雷码0010(对应8421码0000);格雷码0011加3,就是从格雷码0011往下数3个,得到格雷码0111,即余3格雷码0111(对应8421码0010)。
十进制数,可以写成 8421 码。
用“异或运算”可将 8421 码转换成格雷码。
格雷码是可靠性编码。
它的相邻两组代码中,只有一位二进制不同。
其首尾两组代码也是仅有一位不同。具有这个特点,就称为循环码。
8421 码中的 3~12,就是“余 3 码”的 0~9。
格雷码中的 3~12,就是“余 3 循环码”的 0~9。
余 3 循环码来自格雷码,所以它具有格雷码的全部特点。
下图中,可以清楚的看出它们的关系和特点。
8421码,和余3循环码,之间,还有一个《格雷码》。
把 0~15 的 8421 码:0000~1111,变换成格雷码:0000~1000。
格雷码中的3 ~ 12,即为 0~9 的余3循环码:0010~1010。
余三码和余三循环码是不一样的。余三码是8421码加011,余三循环码是变权码,相邻两个代码之间只有一位不同。它是取自4位格雷码中的十个代码组成的。从0010到1010
余3码是一种BCD码,它是由8421码加3后形成的,不具有有权性,但具有自补性。余3码是在8421码基础上每位十进制数BCD码再加上二进制数0011得到的。因为8421码中无1010~1111这6个代码,所以余3码中无0000~0010、1101~1111这6个代码。余3码不具有有权性,但具有自补性,余3码是一种“对9的自补码”。
余三码(余3码)【计算机】是由8421BCD码加上0011形成的一种无权码,由于它的每个字符编码比相应的8421码多3,故称为余三码。BCD码的一种。 余三码是一种对9的自补代码,因而可给运算带来方便。其次,在将两个余三码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正。修正的方法是:如果有进位,则结果加3;如果无进位,则结果减3。 如, (526)8421BCD码=(1000 0101 1001)余3码
相对应的格雷码为:
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
那么余3循环码就是取格雷码的3到12作为自己的0-9
也就是相应的要理解余3循环码,最右边的一位按照0110顺序循环变化,右边第二位按照00111100循环变化,右边第三位按照0000111111110000循环变化,而最左边的一位则按照0000000011111111变化,首先要知道格雷码。对于十进制的0——15,由四位格雷码组成
1、首先以X5作为BCD码转换指令的执行条件,在左母线右侧输入LD X5。
2、然后在X5触点的右侧输如BCD码转换指令:BCD D6 K1Y0。其含义是将D6内的二进制数转换成BCD码存放在K1Y0中。
3、程序编写好之后按转换按钮将程序进行编译,然后按模拟测试按钮将程序写入模拟PLC。
4、出现模拟测试窗口后,点击菜单启动,然后选择继电器内存监视。
5、在监视窗口中的菜单中点击软元件,然后选择位软元件X和字软元件D。
6、点击X5执行BCD码转换指令,这时可以看到将D6中的二进制转换成了BCD码。