Como separar int o long en bytes

Hola buenos me remiti a este post por otr de can bus y que iso referencia el colega igor bueno en fin paso a decirle que he notado todo un algoritmo matemadico para separar byte pero nose si fue que lo olvidaron o no lo han visto o usado nunca pero existen los comando lowByte() y highByte().

en la referencia hay informacion necesaria para esto ahora lo explico a mi manera ejemplo se tiene una variable word como ya he visto en sus ejemplo;
word dato=0x45f2;

para separar esa variable de 16 bit basta con usar los comando que les mensiones es decir:
Para el byte alto se usa highByte(dato) y para el bajo lowByte(dato)
de manera ejemplo:
byte alto=0;
byte bajo=0;
entonce;

alto=highByte(dato);
bajo=lowByte(dato);
donde alto=0x45 y bajo=0xf2

caso contario si se quiere unir dos byte se usa los mismo comando pero de esta manera;
highByte(dato)=0x45; y lowByte(dato)=0xf2;
ya con eso la variable dato ahora toma el valor 0x45f2.

Saludos y espero haberme hecho entender.