| 作者 | 主题 |
|---|---|
|
plc123 新手 经验值:17 发帖数:17 精华帖:0 |
楼主
主题:求救:格雷码的转换
我的CPU是313C,使用SM338读入格雷码后,想转换成二进制数,有大虾有程序吗?请多指教。
广交天下朋友
|
|
kinkin 版主 经验值:17829 发帖数:7358 精华帖:53 |
楼
主题:回复:求救:格雷码的转换
格雷码的转换方法:
某二进制数为: Bn-1 Bn-2 …… B2 B1 B0 其对应的格雷码为:Gn-1 Gn-2 …… G2 G1 G0 其中最高位保留: Gn-1=Bn-1 其它各位: Gi=Bi+1 XOR Bi i=0,1,2 …… n-2 例如: 二进制:10110 对应的格雷码为:11101 而格雷码转换为二进制时,方法如下: B0 = Gn-1 XOR Gn-2 XOR …… G1 XOR G0 B1 = Gn-2 XOR Gn-3 XOR …… G1 XOR G0 …… Bn-1=Gn-1
数字飞舞
|
|
passwd 游侠 经验值:491 发帖数:413 精华帖:6 |
楼
主题:回复:求救:格雷码的转换
今天下午刚好编出来,虽然不是很精简,但是至少能用.可以考虑用指针可以简化很多.
MW0 里存放GRAY码,MW2里存放DEC L 0 T MW2 X M2.7 X M0.7 = M2.7 X M2.7 X M0.6 = M2.6 X M2.6 X M0.5 = M2.5 X M2.5 X M0.4 = M2.4 X M2.4 X M0.3 = M2.3 X M2.3 X M0.2 = M2.2 X M2.2 X M0.1 = M2.1 X M2.1 X M0.0 = M2.0 X M2.0 X M1.7 = M3.7 X M3.7 X M1.6 = M3.6 X M3.6 X M1.5 = M3.5 X M3.5 X M1.4 = M3.4 X M3.4 X M1.3 = M3.3 X M3.3 X M1.2 = M3.2 X M3.2 X M1.1 = M3.1 X M3.1 X M1.0 = M3.0 |