История изменений
Исправление WRG, (текущая версия) :
С классами
#include <iostream>
#include <inttypes.h>
class Bytefucker {
public:
	static void setByte(uint16_t &num, uint8_t pos, uint8_t byte) {
		num |= (byte << (pos * 8));
	}
};
int main()
{
	uint16_t result;
	uint8_t byte1, byte2;
	byte1 = 42;
	byte2 = 146;
	Bytefucker::setByte(result, 0, byte1);
	Bytefucker::setByte(result, 1, byte2);
	std::cout << std::hex << result << std::endl;
	return 0;
}
Исходная версия WRG, :
#include <iostream>
#include <inttypes.h>
class Bytefucker {
public:
	static void setByte(uint16_t &num, uint8_t pos, uint8_t byte) {
		num |= (byte << (pos * 8));
	}
};
int main()
{
	uint16_t result;
	uint8_t byte1, byte2;
	byte1 = 42;
	byte2 = 146;
	Bytefucker::setByte(result, 0, byte1);
	Bytefucker::setByte(result, 1, byte2);
	std::cout << std::hex << result << std::endl;
	return 0;
}