- bit[meta header]
- function template[meta id-type]
- std[meta namespace]
- cpp23[meta cpp]
namespace std {
template <class T>
constexpr T byteswap(T value) noexcept;
}
値value
のオブジェクト表現に対してバイト単位で逆順並び替え(エンディアン変換)を行う。
型T
がintegral
のモデルであること
型T
がパディングビットを含まないこと
value
のオブジェクト表現をバイト単位で逆順に並び替えた整数型T
の値を返す。
投げない
#include <bit>
#include <format>
#include <iostream>
int main()
{
std::uint32_t src = 0x12345678u;
std::cout << std::format("{:x}", src) << std::endl;
std::uint32_t dst = std::byteswap(src);
std::cout << std::format("{:x}", dst) << std::endl;
}
- std::byteswap[color ff0000]
- std::format[link /reference/format/format.md]
12345678
78563412
- C++23
- Clang: ??
- GCC: ??
- Visual C++: ??