Modernes C++ programmieren

Okt 23, 2024

lst-0606-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/13eMxKTfj 
#include <iostream>
#include <vector>
#include <set>
#include <bitset>
template<typename IT>
std::ostream& druckeBinaer(std::ostream& os, IT begin, IT end)
{
    for(IT it=begin; it != end; ++it) {
        std::bitset<4> x(*it); // Zahl in bitset kopieren
        os << x << " ";
    }
    return os;
}
int main()
{
    std::vector<int> vdata { 2, 0, 15, 12 };
    druckeBinaer(std::cout, vdata.cbegin(), vdata.cend()) << "\n";
    // Ausgabe: 0010 0000 1111 1100
    std::set<int> sdata { 2, 0, 12, 15 };
    druckeBinaer(std::cout, std::begin(sdata), std::end(sdata)) << "\n";
    // Ausgabe: 0000 0010 1100 1111
    int adata[] = { 0,1,2,13,14,15 };
    druckeBinaer(std::cout, std::begin(adata), std::end(adata)) << "\n";
    // Ausgabe: 0000 0001 0010 1101 1110 1111
}