//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/h3baE65od
#include <iostream>
#include <vector>
#include <set>
#include <bitset>
#include <ranges>
namespace rng = std::ranges;
std::ostream& druckeBinaer(std::ostream& os, rng::input_range auto&& range) {
for(auto&& elem : range) {
std::bitset<4> x(elem); // Zahl in bitset kopieren
os << x << " ";
}
return os;
}
int main()
{
std::vector vdata { 2, 0, 15, 12 };
druckeBinaer(std::cout, vdata) << "\n";
// Ausgabe: 0010 0000 1111 1100
std::set sdata { 2, 0, 12, 15 };
druckeBinaer(std::cout, sdata) << "\n";
// Ausgabe: 0000 0010 1100 1111
int adata[] = { 0,1,2,13,14,15 };
druckeBinaer(std::cout, adata) << "\n";
// Ausgabe: 0000 0001 0010 1101 1110 1111
}