В зависимости от того, как я распечатываю целочисленное значение в шестнадцатеричной форме, я получаю результаты с разным порядком байтов
следующий код:
#include <QCoreApplication>
#include <QDebug>
template<class T>
QByteArray numToHex( T number ) // converts any number to hex format
{
return QByteArray( (const char*)&number, sizeof(T) ).toHex();
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
quint64 hash64 = 18144624926692707313;
qDebug() << "<< hex << hash64: " << hex << hash64;
qDebug() << "numToHex(hash64):" << numToHex(hash64);
return a.exec();
}
//this is the result:
<< hex << hash64: fbcea83c8a378bf1
numToHex(hash64): "f18b378a3ca8cefb"
Оба результата имеют разные порядки байтов, почему?В любом случае я не установил порядок байтов, поэтому они должны быть одинаковыми!