功能
- 给定编码,输出其十六进制海明码;
- 海明码的校验,可判断编码错误位置并纠正,输出正确编码
代码
#include<iostream>
#include<string>
#include<math.h>
#include<vector>
#include<algorithm>
#define MAX 100
using namespace std;
int is2n(string bin)
{
int count=0;
for(int i=0; i<bin.size(); i++)
{
if(bin[i]=='1')
count++;
}
return count==1?1:0;
}
char hexNumber(int num)
{
char hex;
if(num>=0&&num<=9)
return num+'0';
else
{
switch(num)
{
case 10:
return 'A';
case 11:
return 'B';
case 12:
return 'C';
case 13:
return 'D';
case 14:
return 'E';
case 15:
return 'F';
default:
cout<<"error"<<endl;
return '#';
}
}
}
string dec2Bin(int dec)
{
string bin="";
while(dec)
{
int remainer=dec%2;
bin.insert(0,to_string(remainer));
dec=dec/2;
}
return bin;
}
string bin2hex(string bin)
{
string hex=""