Reading a floating dc voltage

What about measuring a voltage that can't have a common ground with the Arduino - for example the voltage across a shunt?

I only started thinking about this yesterday and I think the answer is to use an OpAmp as a differential amplifier? I haven't got round to doing anything about it yet.

...R