LINUX.ORG.RU

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

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

    // Первые 8 байт нас интересуют
    QByteArray::ConstIterator it = recordDatagram.constBegin();
    for (int i = 0; i < 8; ++i) {
        ++it;
    }

    // Нам интересны 450 байт из пакета с данными
    QByteArray::ConstIterator end = it;
    for (int i = 0; i < 450; ++i) {
        ++end;
    }

По пальцам считать, несомненно, интересно, но нужен ли тут весь подобный обвес в принципе, если на традиционных указателях все намного проще:

for (it=data+8, end=data+458; it<end; it+=3) {
  res = double(*it<<16 + *(it+1)<<8 + *(it+2)) 
    * 2.5 / 0xfffffff - 1.25;
  ...
}

Исходная версия bormant, :

    // Первые 8 байт нас интересуют
    QByteArray::ConstIterator it = recordDatagram.constBegin();
    for (int i = 0; i < 8; ++i) {
        ++it;
    }

    // Нам интересны 450 байт из пакета с данными
    QByteArray::ConstIterator end = it;
    for (int i = 0; i < 450; ++i) {
        ++end;
    }

По пальцам считать, несомненно, интересно, но нужен ли тут весь подобный обвес в принципе, если на традиционных указателях все намного проще:

for (it=data+8, end=data+458; it<end; it+=3) {
  res = double(*it<<16 + *(it+1)<<8 + *(it+2)) * 2.5 / 0xfffffff;
  ...
}