LINUX.ORG.RU

История изменений

Исправление 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;
}