2147483648 は 2147483648U って感じに unsigned int の整数リテラルしてあげればおkじゃね
unsigned int の範囲の乱数だから、RAND_MAXは #include <limits.h> して UINT_MAX 使えば?

0<n<1 なら
n = sceKernelUtilsMt19937UInt(&ctx) / (float)UINT_MAX;
って感じか