Bytes naar long

Is het niet eenvoudiger op deze manier?

// Do not remove the include below unless using the Arduino IDE
#include "test.h"
//
// overlay om een long als byte array te benaderen
//
union {
	long b;		// long getal wat we nodig hebben
	byte a[4];	// bytes als overlay
} x;

void setup()
{
	Serial.begin (9600);
	//
	//
	x.b 	= 0;		// resultaat op 0 zetten
	x.a[2] 	= 0x25;		// ff vaste waarden er in  zetten
	x.a[1] 	= 0xc3;
	x.a[0] 	= 0xf8;
	//
	// ff laten zien ter controle
	//
	Serial.println("Deze 3 hebben we: ");
	Serial.println(String(x.a[0], HEX));
	Serial.println(String(x.a[1], HEX));
	Serial.println(String(x.a[2], HEX));
	//
	// en dan rechtstreeks de overlay gebruiken
	//
	Serial.print("dit is het getal: ");
	Serial.println(String(x.b));
}

// The loop function is called in an endless loop
void loop()
{
//Add your repeated code here
}

Met als resultaat

Deze 3 hebben we: 
f8
c3
25
dit is het getal: 2475000