Usando operadores bit a bit em C ++ para alterar 4 caracteres para int

O que devo fazer é abrir um arquivo no modo binário que contém dados armazenados que devem ser interpretados como números inteiros. Eu já vi outros exemplos como Stackoverflow-Reading bytes de tamanho inteiro de uma matriz char mas quero tentar uma abordagem diferente (posso ser teimoso ou idiota: /). Criei pela primeira vez um arquivo binário simples em um editor hexadecimal com a seguinte redaçã

00 00 00 47 00 00 00 17 00 00 00 41
Isto (deveria) igual a 71, 23 e 65 se os 12 bytes foram divididos em 3 números inteiro

Após abrir esse arquivo no modo binário e ler 4 bytes em uma matriz de caracteres, como posso usar operações bit a bit para fazer com que char [0] bits sejam os primeiros 8 bits de um int e assim por diante até que os bits de cada caractere façam parte do int.

 
My integer = 00        00        00        00  
 +           ^         ^         ^         ^
Chars      Char[0]  Char[1]   Char[2]   Char[3]
             00        00        00        47


So my integer(hex) = 00 00 00 47 = numerical value of 71

Além disso, não sei como o endianness do meu sistema entra em jogo aqui, então há algo que eu preciso ter em ment

Aqui está um trecho de código do que tenho até agora, mas não sei os próximos passos a serem seguidos.


std::fstream myfile;
    myfile.open("C:\\Users\\Jacob\\Desktop\\hextest.txt", std::ios::in | std::ios::out | std::ios::binary);
    if(myfile.is_open() == false)
    {
        std::cout << "Error" << std::endl;
    }
    char* mychar;
    std::cout << myfile.is_open() << std::endl;
    mychar = new char[4];
    myfile.read(mychar, 4);

Eu planejo lidar com a leitura de carros alegóricos de um arquivo e, eventualmente, um tipo de dados personalizado, mas primeiro eu só preciso me familiarizar com o uso de operações bit a bit. Obrigado

questionAnswers(2)

yourAnswerToTheQuestion