LINUX.ORG.RU

Сообщения bestbat

 

Помогите пожалуйста перевести программу с с++ на python

Есть простая программка на С++. вычисляет CRC. Нужна помощь в переводе ее на Python 2.7 Ниже текст:

// функция рассчитывает контрольную сумму
// последовательности байтов и возвращает результат.
// *InputData - указатель на последовательность байтов.
// BytesNumber - количество байтов,
// для которых считается контрольная сумма.
// Offset - смещение относительно начала последовательности
// байтов, с которого начинает считаться контрольная сумма
// (0 - без смещения).
// Возвращает контрольную сумму.
unsigned char
CrcMaker(unsigned char *InputData, unsigned char BytesNumber, unsigned char Offset)
{
        // Служебные параметры.
        register unsigned char i, j, Data, CrcCode = 0, Polinom = 0x69;

        for (i = Offset; i < BytesNumber + Offset; i++) {
                Data = InputData[i];
                for (j = 0; j < 8; j++) {
                        if  (CrcCode & (1 << 7)) {
                                CrcCode *= 2;
                                if (Data & (1 << 7))
                                        CrcCode ++;
                                CrcCode ^= Polinom;
                        } else { // if (CrcCode & (1 << 7))
                                CrcCode *= 2;
                                if (Data & (1 << 7))
                                        CrcCode ++;
                        } // if (CrcCode & (1 << 7))
                        Data *= 2;
                } // for (j = 0; j < 8; j++)
        } // for (i = Offset; i < BytesNumber + Offset; i++)

        // Вернѐм контрольную сумму.
        return CrcCode;
} // unsigned char ucCrcMaker ( ... )
//~~~~~~~~~~~~~~~~~~~~~~~~~~
Спасибо.

 , ,

bestbat
()

RSS подписка на новые темы