#include <iostream>
#include <cstdint>
#include <bitset>
using namespace std;

int main() {
	uint32_t x = 0x0FFFFE35;
	std::cout << std::bitset<32>(x) << " " << std::bitset<8>(((int8_t)x));
	std::cout << std::endl;
	
	std::cout << std::hex << x << " " << std::hex << uint8_t(x & 0xFF);
	std::cout << std::endl;
	std::cout << std::hex << x << " " << std::hex << (x & 0xFF);
	
	uint8_t byte = 0x35;
	printf("\nvia printf: %X\n", (unsigned int)(byte));
	std::cout << std::hex << x << " " << std::hex << byte;

	return 0;
}