Qt short int 陣列大小端轉換(qbswap)

一杯清酒邀明月發表於2024-04-23
在以下情形中,展示瞭如何將 short int 陣列從大端序轉換為小端序,或者從小端序轉換為大端序。
 1 #include <iostream>
 2 #include <cstdint>
 3 int main()
 4 {
 5     constexpr int size = 4;
 6     std::uint16_t arr[size] = {0x1234, 0x5678, 0x9abc, 0xdef0};
 7     // 大端序轉換為小端序
 8     for (int i = 0; i < size; ++i)
 9         arr[i] = qbswap(arr[i]);
10     // 小端序轉換為大端序
11     for (int i = 0; i < size; ++i)
12         arr[i] = qbswap(arr[i]);
13     for (int i = 0; i < size; ++i)
14         std::cout << std::hex << arr[i] << ' ';
15     return 0;
16 }

在上述程式碼中,我們使用了 Qt 的 qbswap 函式,來讓我們無需手動處理位元組序轉換邏輯,即可完成大小端的轉換。最後,我們使用迴圈來列印轉換後的陣列元素,以驗證轉換結果。

相關文章