Hey all

I am pretty new to messing around with the bits of a system, and I am trying to learn to use bitsets as a way to solve a few problems I am having. My question is this:

is there a way to use memcpy to copy the bits of say an integer into a certain place in a bitset? Say I want to make a key from my three ints such that the first 8 bits of the bitset are the 8 bits of integer one, the second 8 bits of bitset and the 8 bits of integer two, etc.

I want to do something like this:

Since bits are reversed, I would like the output from that to be:Code:`#include <bitset>`

#include <iostream>

#include <limits>

#include <cstring>

using namespace std;

int main( )

{

bitset<24> key;

int num1 = 5;

int num2 = 7;

int num3 = 2;

memcpy(&key, &num3, 8);

memcpy(&key+8, &num2, 8);

memcpy(&key+16, &num1, 8);

cout << key << endl;

}

00000101 00000111 00000010, but it most definitely isn't. I am completely lost in the fact that numbers are reversed in their binary representation on little endian systems (apparently?) and would really appreciate if someone could explain to me a little better than the tutorials I have found so far.

Also, declaring key as

just segfaults me when i try to use it like that, so is there anything diffferent about pointers to bitsets than regular pointers? I usualyl use c, so c++ is a little bit new to me.Code:`bitset<24> *key`