Loading...
指定したビット位置に1をセットします。
パラメータは可変数引数で指定でき、各パラメータはビット位置を指定する0..31の整数を指定する。例えばpack_bits(1,3,6)と指定すると((1UL<<1)|(1UL<<3)|(1UL<<6))を返します。
pack_bits(1,3,6)
((1UL<<1)|(1UL<<3)|(1UL<<6))
constexprは定数による計算が可能な場合はコンパイル時に定数展開します。
constexpr
IOポート(DI,DO)の状態など各種ビットマップに値を参照・設定する場面があり、その記述を簡素化するため。
constexpr uint32_t pack_bits(...)