0

C++ を使用してCRC 計算を実行しようとしました。基本的なように思えたので、配列を使用して行うことを考えました。

これは私のコードです(非効率的でナンセンスです):

/*3-bit CRC Calculator in C++*/
#include <iostream>

using namespace std;

int main()
{
    int m[100][100]; //Array to perform calculations... store values..
    int x = 4;
    m[1][0] = 1;
    m[1][1] = 0;
    m[1][2] = 1;
    m[1][3] = 1;

    cout << "Enter the binary sequence (14 digits):\n";

    cin >> m[0][x-4];
    cin >> m[0][x-3];
    cin >> m[0][x-2];
    cin >> m[0][x-1];
    cin >> m[0][x];
    cin >> m[0][x+1];
    cin >> m[0][x+2];
    cin >> m[0][x+3];
    cin >> m[0][x+4];
    cin >> m[0][x+5];
    cin >> m[0][x+6];
    cin >> m[0][x+7];
    cin >> m[0][x+8];
    cin >> m[0][x+9];

    m[0][x+10] = 0; //3-bit crc
    m[0][x+11] = 0;
    m[0][x+12] = 0;

    while (x >= -4){
        m[2][0] = m[0][0] xor m[1][0]; //Subraction from message binary code
        m[2][1] = m[0][1] xor m[1][1];
        m[2][2] = m[0][2] xor m[1][2];
        m[2][3] = m[0][3] xor m[1][3];

        m[0][0] = m[2][1];
        m[0][1] = m[2][2];
        m[0][2] = m[2][3] ;
        x--;
    }
    cout << "CRC Value: " << m[0][0] << m[0][1] << m[0][2];
    cin >> x;
    return 0;
}

今では 110 を返します。:/

4

0 に答える 0