谁能编一个把PCM(自然码)转成为二进制的C++程序

来源:百度知道 编辑:UC知道 时间:2024/05/12 05:16:44
不要太复杂,有3,4十句就行了,如果编的好有又追加悬赏,要用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;

}

这个问题,我觉得你可以在网上搜搜答案,应该有类似的源码的!

用栈就能完美的表示出来
只要输入<数字,需要转换后