Look at the BitConverter class or go unsafe.
Unsafe example (untested):
public unsafe double FromLong(long x)
{
return *((double*)&x);
}
BitConverter example:
double d = BitConverter.Int64BitsToDouble(0xdeadbeef);
http://msdn2.microsoft.com/en-us/library/system.bitconverter.int64bitstodouble