谁能编一个把PCM(自然码)转成为二进制的C++程序
来源:百度知道 编辑:UC知道 时间:2024/05/12 05:16:44
不要太复杂,有3,4十句就行了,如果编的好有又追加悬赏,要用C++编
在网上肯本就搜不到关于pcm自然码的C++程序
在网上肯本就搜不到关于pcm自然码的C++程序
自然码是带权值的二进制码 权值从左至右分别为8 4 2 1
程序检测数据:输入自然码 1112 输出二进制码10000
希望对你有帮助
==================================================================
#include<iostream>
#include<string>
using namespace std;
int main()
{
//接收输入的4位自然码字符串 转化为整形
//temp为每位的权值8 4 2 1
//result[]为要输出的二进制结果的数组
int c[4]={0},SUM=0,temp[4]={8,4,2,1},result[100];
for(int i=0;i<4;++i)
{
c[i]=(int)getchar()-48;
SUM+=c[i]*temp[i]; //利用权值得到自然码所表示的10进制的值SUM
}
//再将十进制数SUM 转化为二进制
int k=0;
while(SUM>0)
{
result[k]=SUM%2;
SUM=(SUM-result[k])/2; //每次得到的商
++k;
}
for(int t=k-1;t>=0;--t)
cout<<result[t];
return 0;
}
这个问题,我觉得你可以在网上搜搜答案,应该有类似的源码的!
用栈就能完美的表示出来
只要输入<数字,需要转换后