📄 13折线.cpp
字号:
#include "math.h"
#include <iostream>
using namespace std;
int result[8];
int init[3][8];
int base;
int signal;
void Dowith();
void innerdeal();
void output();
void INIT()
{
int i;
for(i = 0; i < 8; i++)
{
init[0][i] = i + 1;
init[1][i] = pow(2 , i + 3);
}
init[1][0] = 0;
init[2][0] = 1;
init[2][1] = 1;
for(int j = 3; j <= 8; j++)
{
init[2][j - 1] = pow(2 , j - 2);
}
}
int main()
{
cout<<"请输入样值信号的值:";
cin>>signal;
INIT();
Dowith();
innerdeal();
cout<<"编码结果为:"<<endl;
output();
return 0;
}
void Dowith()
{
if(signal > 0)
{
result[0] = 1;
}
else
{
result[0] = 0;
signal = 0 - signal;
}
if(signal > 128)
{
result[1] = 1;
if(signal > 512)
{
result[2] = 1;
if(signal > 1024)
{
result[3] = 1;
}
else
{
result[3] = 0;
}
}
else
{
result[2] = 0;
if(signal > 256)
{
result[3] = 1;
}
else
{
result[3] = 0;
}
}
}
else
{
result[1] = 0;
if(signal > 32)
{
result[2] = 1;
if(signal > 64)
{
result[3] = 1;
}
else
{
result[3] = 0;
}
}
else
{
result[2] = 0;
if(signal > 16)
{
result[3] = 1;
}
else
{
result[3] = 0;
}
}
}
base = 4 * result[1] + 2 * result[2] + 1 * result[3] + 1;
}
void innerdeal()
{
int temp;
temp = init[1][base - 1] + 8 * init[2][base - 1];
if(signal >temp)
{
result[4] = 1;
}
else
{
result[4] = 0;
}
temp = init[1][base - 1] + 8 * init[2][base - 1] * result[4] + 4 * init[2][base - 1];
if(signal > temp)
{
result[5] = 1;
}
else
{
result[5] = 0;
}
temp = init[1][base - 1] + 8 * init[2][base - 1] * result[4]
+ 4 * init[2][base - 1] * result[5] + 2 * init[2][base - 1];
if(signal > temp)
{
result[6] = 1;
}
else
{
result[6] = 0;
}
temp = init[1][base - 1] + 8 * init[2][base - 1] * result[4]
+ 4 * init[2][base - 1] * result[5]
+ 2 * init[2][base - 1] * result[6] + init[2][base - 1];
if(signal > temp)
{
result[7] = 1;
}
else
{
result[7] = 0;
}
}
void output()
{
for(int i = 0; i < 8; i++)
{
cout<<result[i];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -