Lookup table seems silly when you can take advantage of the floating point format. In C, I think you can more or less just do something like:
uint64_t e = (1023-mj) << 52;
double exp = *((double*) &e)
edit: Whether or not there's a way to express that in Scala, I don't know...