📄 a-13decode.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 + -