Big Endian e Little Endian

Então, eu voltei a trabalhar naquele meu client de minecraft em C# e consegui fazer a serialização do chat, lidar com os pacotes comprimidos e tudo mais. Só que agora surgiu outro problema: a máquina virtual do Java trabalha em Big Endian, e o C# varia de acordo com o processador. Para valores do tipo Int e Long, eu simplesmente inverti a ordem, mas não sei se isso vai funcionar para valores do tipo Float e Double. Eu simplesmente inverto eles também? Ou é mais complicado do que isso?