⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a-13decode.cpp

📁 A率13折线的编码与解码程序
💻 CPP
字号:
#include <string.h>
#include <iostream.h>
#include <iomanip.h>
void main()
{
    char str[7];
    int c[7];
    int i,m1,m2,m3,m4,m5,m6,m7,m8,a,d,p1,p2,s; 
 	cout<<"输入八位二进制码字:";
	for (i=0;i<=7;i++)
	cin>>str[i];							//输入8位2进制数即码字
	for(i=0;i<=7;i++)
    { 	c[i]=str[i]-48;						//字符ASCII码转变为数字
		if(c[i]!=1&&c[i]!=0)
	{	cout<<"输入有误!"<<endl;
		return;}
	m1=c[0]; m2=c[1]; m3=c[2]; m4=c[3];
	m5=c[4]; m6=c[5]; m7=c[6]; m8=c[7];
	}
    p1=m2*4+m3*2+m4*1;						//段落码的10进制表示
    switch(p1)
    {
       case 0 : a=0;d=1;break;
       case 1 : a=16;d=1;break;
       case 2 : a=32;d=2;break;
       case 3 : a=64;d=4;break;
       case 4 : a=128;d=8;break;
       case 5 : a=256;d=16;break;
       case 6 : a=512;d=32;break;
       case 7 : a=1024;d=64;break;			//根据段落码求出起始电平和量化间隔
    }

    p2=m5*8+m6*4+m7*2+m8*1;
	s=a+p2*d;								//计算得出电平的绝对值
    if(m1==0) s=-s;							//根据极性码加符号
	cout<<"起始电平:"<<a<<endl;
	cout<<"量化间隔:"<<d<<endl;
	cout<<"解码得到的电平值:"<<s<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -