C语言已知二进制码求循环码,二进制和循环码转换

用C语言实现二进制与循环码的互相转换

循环码--二进制码

#include"stdio.h"

#include"math.h"

#define N 5

void main()

{ int i;

double s,a=0.0,jiaodu;

int C[N],R[N]; // R[N]:循环码 C[N]:二进制码

printf("请输入循环码:");

for(i=0;i

{

scanf("%d",&R[i]);

}

C[0]=R[0];

for(i=1;i

{

C[i]=(R[i]^C[i-1]);

}

printf("转换的二进制:");

for(i=0;i

printf("%2d",C[i]);

printf("\n");

s=360.0/pow(2,N);

printf("码盘的分辨率:%lf\n",s);

for(i=0;i

{

a+=C[i]*pow(2,N-i-1);

jiaodu=a*s;

}

printf("对应的角度:%lf\n",jiaodu);

}

二进制码---循环码

#include"stdio.h"

#include"math.h"

#define N 4

void main()

{ int i;

double s,a;

int C[N],R[N]; // R[N]:循环码 C[N]:二进制码

printf("请输入二进制码:");

for(i=0;i

{

scanf("%d",&C[i]);

}

R[0]=C[0];

for(i=1;i

{

R[i]=(C[i]^C[i-1]);

}

printf("转换的循环码:");

for(i=0;i

printf("%2d",R[i]);

printf("\n");

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
循环转换二进制码的方法很简单,只需要将循环码中的每个字符转换成其对应的二进制数即可。可以使用C语言的字符串转换函数来实现这个操作。以下是一个示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> void cyclic_to_binary(char *cyclic_code, char *binary_code) { int i, j; for (i = 0; i < strlen(cyclic_code); i++) { switch (cyclic_code[i]) { case '0': strcat(binary_code, "0000"); break; case '1': strcat(binary_code, "0001"); break; case '2': strcat(binary_code, "0010"); break; case '3': strcat(binary_code, "0011"); break; case '4': strcat(binary_code, "0100"); break; case '5': strcat(binary_code, "0101"); break; case '6': strcat(binary_code, "0110"); break; case '7': strcat(binary_code, "0111"); break; case '8': strcat(binary_code, "1000"); break; case '9': strcat(binary_code, "1001"); break; case 'A': strcat(binary_code, "1010"); break; case 'B': strcat(binary_code, "1011"); break; case 'C': strcat(binary_code, "1100"); break; case 'D': strcat(binary_code, "1101"); break; case 'E': strcat(binary_code, "1110"); break; case 'F': strcat(binary_code, "1111"); break; } } } int main() { char cyclic_code[] = "0110000011010011"; char binary_code[65] = ""; cyclic_to_binary(cyclic_code, binary_code); printf("Cyclic code: %s\n", cyclic_code); printf("Binary code: %s\n", binary_code); return 0; } ``` 在上面的示例代码中,定义了一个名为"cyclic_to_binary"的函数,它接受两个参数:循环码和二进制码的目标缓冲区。在函数内部,使用一个for循环循环码中的每个字符转换成其对应的二进制数,并将其添加到二进制码的目标缓冲区中。最后,在主函数中调用"cyclic_to_binary"函数并输出结果。 请注意,以上代码仅适用于将16进制的循环转换二进制码。如果你需要将其他的循环转换二进制码,你需要根据它们的编码方式编写相应的转换函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值