unsigned long field[4];
という、128ビット長の整数配列 field をもとに、
std::bitset<128> を構築する場合、どのようにするのが良策でしょうか?
今のところ、以下のように構築してますが、ほかにいい方法はありませんか?

bitset<128> y =
 ( bitset<128>(field[3]) << 96 ) |
 ( bitset<128>(field[2]) << 64 ) |
 ( bitset<128>(field[1]) << 32 ) |
 ( bitset<128>(field[0]) );