mam ciąg 8 char długo, że zawierapomocą bitset pojemnik C++
8 bajtów szesnastkowej ma
jest 801000000000000
Oznacza to, bit 1 i 12 jest włączony.
Jak używać funkcji bitset w języku C++ i ułatwiać życie.
Dzięki
mam ciąg 8 char długo, że zawierapomocą bitset pojemnik C++
8 bajtów szesnastkowej ma
jest 801000000000000
Oznacza to, bit 1 i 12 jest włączony.
Jak używać funkcji bitset w języku C++ i ułatwiać życie.
Dzięki
Co zrobić? Gdzie jest pytanie? Nie mogę dać dobrego przykładu "jak to ułatwi ci życie" bez problemu do rozwiązania. Wszystko, co mogę zrobić, to pokazać podstawowe zasady działania klasy w aplikacji.
Oto link na jego interface. Jeśli chcesz obsłużyć tylko prosty, stały zestaw bitów, możesz go łatwo stworzyć. Jeśli chcesz taki, który może się rozwinąć lub skurczyć, spójrz na numer Boost. Oto krótki przykład ze standardowym bitset:
std::bitset<40> imFiveBytesLong;
imFiveBytesLong.set(0, true);
Teraz wygląda na to,
0000000000000000000000000000000000000001
z 0th ustawionym bitem. I można przetestować, aby sprawdzić, czy bit jest ustawiony, pytając:
bool isItSet = imFiveBytesLong.test(0);
Albo można policzyć liczbę bitów ustawionych pytając:
std::size_t numSet = imFiveBytesLong.count();
Edycja:
Aby odpowiedzieć twój komentarz poniżej sprawdź metodę bitset i jeden z zestawu bitów. Łączenie:
int main()
{
std::bitset<10> mySet(120ul); // initialize from unsigned long
std::cout << mySet.to_uLong(); // print as an unsigned long
return 0;
}
Jak mogę uczynić mój ciąg idealnie unsigned długi i zainicjować od unsigned długi? – user79292
Na czym polega pytanie? Nie widzę tam żadnego "?". – karlphillip
@karlphillip ..any? * tam. –