I know Olin has answered this question and you have accepted it but I would recommend using a synchronous buck converter - it uses two MOSFETs and is more efficient and, surprisingly, easier to understand and control.
Imagine your 48 volts is fed into a circuit that chopped it up into a square wave of a certain mark-space ratio - this is what a sync buck converter does and, the average voltage of that square wave (when fed through a series inductor and capacitor to gnd), is a dc level that corresponds to the output level you need so, for an output of 12 volts you need to use two FETs fed from a PWM source that creates a 25% mark-space ratio.
This converts 48 volts into 12 volts.
If you have really low on resistance fets and a really low resistance inductor all you need to do is set the mark space ratio to 25% and, if the input voltage varies a bit, make this mark-space ratio modifiable by the input voltage changing.
Inevitably it is usually a bit more complex than this because even the best fets in the world drop a little voltage and so does the inductor and under heavy load conditions the voltage will sag - this can be countered by slightly increasing the mark-space ratio.
A non-sync buck converter isn't as efficient and is prone to more instabilities so I'd urge you to consider this route. A PWM circuit such as the LTC6992 is very useful as the heart of this type of switcher - it's a voltage controlled PWM oscillator.