LINUX.ORG.RU

История изменений

Исправление Obey-Kun, (текущая версия) :

То есть вместо

    const unsigned char b1 = *(it++);
    const unsigned char b2 = *(it++);
    const unsigned char b3 = *(it++);

    // Не преобразованное показание АЦП
    const quint32 block =
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
            (b1 << 24) +
            (b2 << 16) +
            (b3 << 8);
#else
            b3 +
            (b2 << 8) +
            (b1 << 16);
#endif

будем делать

    const quint32 b1 = *(it++);
    const quint32 b2 = *(it++);
    const quint32 b3 = *(it++);

    // Не преобразованное показание АЦП
    const quint32 block =
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
            (b1 << 24U) |
            (b2 << 16U) |
            (b3 << 8U);
#else
            b3 |
            (b2 << 8U) |
            (b1 << 16U);
#endif

Да?

Исходная версия Obey-Kun, :

То есть вместо

    const unsigned char b1 = *(it++);
    const unsigned char b2 = *(it++);
    const unsigned char b3 = *(it++);

    // Не преобразованное показание АЦП
    const quint32 block =
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
            (b1 << 24) +
            (b2 << 16) +
            (b3 << 8);
#else
            b3 +
            (b2 << 8) +
            (b1 << 16);
#endif

будем делать

    const quint32 b1 = *(it++);
    const quint32 b2 = *(it++);
    const quint32 b3 = *(it++);

    // Не преобразованное показание АЦП
    const quint32 block =
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
            (b1 << 24U) |
            (b2 << 16U) |
            (b3 << 8U);
#else
            b3 |
            (b2 << 8U) |
            (b1 << 16U);
#endif