1.谁能编一个把PCM(自然码)转成为二进制的求源码11011的真值C++程序
2.size_tçä»ç»
谁能编一个把PCM(自然码)转成为二进制的C++程序
自然码是带权值的二进制码 权值从左至右分别为8 4 2 1
程序检测数据:输入自然码 输出二进制码
希望对你有帮助
==================================================================
#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[];
for(int i=0;i<4;++i)
{
c[i]=(int)getchar()-;
SUM+=c[i]*temp[i]; //利用权值得到自然码所表示的进制的值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;
}
size_tçä»ç»
size_t ç±»åå®ä¹å¨cstddef头æ件ä¸ï¼è¯¥æ件æ¯Cæ ååºç头æ件stddef.hçC++çãå®æ¯ä¸ä¸ªä¸æºå¨ç¸å ³çunsignedç±»åï¼å ¶å¤§å°è¶³ä»¥ä¿è¯åå¨å åä¸å¯¹è±¡ç大å°ãä¾å¦ï¼bitsetçsizeæä½è¿åbitset对象ä¸äºè¿å¶ä½ä¸ç个æ°ï¼è¿åå¼ç±»åæ¯size_tãä¾å¦ï¼å¨ç¨ä¸æ 访é®å ç´ æ¶ï¼vector使ç¨vector::size_typeä½ä¸ºä¸æ ç±»åï¼èæ°ç»ä¸æ çæ£ç¡®ç±»ååæ¯size_tãvector使ç¨çä¸æ å®é ä¹æ¯size_tï¼æºç æ¯typedef size_t size_typeã