/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/byte_orders.cpp
91 строка
3 KB
pimenov-and
Перенос функциональности из старого проекта, в основном это описания узлов
19 июл 2026, 20:13
19 июл 2026, 20:13
cb3c51b
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Порядок байтов //////////////////////////////////////////////////////////////// #include "byte_orders.h" //============================================================== // Конвертация порядка байтов в строку //============================================================== QString byteOrderToStr(ByteOrders order) { switch (order) { case ByteOrders::BigEndian: { return "Big-endian"; } case ByteOrders::LittleEndian: { return "Little-endian"; } default: { return "Unknown"; } } } //============================================================== // Конвертация строки в порядок байтов //============================================================== ByteOrders strToByteOrder(const QString &str) { if (str == "Big-endian") { return ByteOrders::BigEndian; } else if (str == "Little-endian") { return ByteOrders::LittleEndian; } else { return ByteOrders::Unknown; } } //============================================================== // Конвертация порядка байтов в число //============================================================== int byteOrderToInt(ByteOrders order) noexcept { return static_cast<int>(order); } //============================================================== // Конвертация числа в порядок байтов //============================================================== ByteOrders intToByteOrder(int value) noexcept { // NOTE: в будущем возможна потеря значений if ((value == 0) || (value == 1)) { return static_cast<ByteOrders>(value); } else { return ByteOrders::Unknown; } } //============================================================== // Получение значений порядка байтов //============================================================== QVector<ByteOrders> byteOrderValues() { return QVector<ByteOrders> { ByteOrders::Unknown, ByteOrders::LittleEndian, ByteOrders::BigEndian }; } //============================================================== // Проверка корректности значения порядка байтов //============================================================== bool isCorrect(ByteOrders order) { return byteOrderValues().contains(order); }