桁数を間違えていたので修正

#include <iostream>
#include <fstream>
#include <iomanip>

const char* const FILENAME = "test.bin";

int main()
{
std::ifstream ifs(FILENAME, std::ios::in | std::ios::binary);
char buf[128];

if (!ifs)
return -1;
ifs.get(buf, 7);
std::cout << std::setw(2) << std::hex << std::setfill('0') << std::right << static_cast<unsigned>(*reinterpret_cast<unsigned char*>(buf)) << std::endl;
std::cout << std::setw(4) << *reinterpret_cast<unsigned short*>(buf + 1) << std::endl;
std::cout << std::setw(8) << *reinterpret_cast<unsigned*>(buf + 3) << std::endl;
}

実行結果

01
0002
00000004