How to read high voltages on microcontroller?
A simple resistive voltage divider will achieve what you want.



The formula to calculate the output voltage is:



So if we assume your input voltage ranges from 0-50V, we need to divide it by 10 to achieve 0-5V. If we also assume we want to load the input voltage with 100k&Omega;, then the calculations would something like:

Vout / Vin = R2 / 100k&Omega;

0.1 = R2 / 100k&Omega; -> R2 = 10k&Omega;

R1 = 100k&Omega; - R2 = 90k&Omega;

So R1 = 90k&Omega; and R2 = 10k&Omega;

For an ADC requiring a maximum source impedance, you must make sure the voltage divider impedance is below this level. The impedance at the divider can be calculated as R1||R2.  

For &lt;2.5k&Omega;, the above won't meet this requirement as 10k&Omega;||90k&Omega; = 9k&Omega;
If we use 9k&Omega; and 1k&Omega; though, we get 1 / (1/1000 + 1/9000) = 900&Omega; 

Bear in mind the lower the resistance the higher the wattage rating resistors you need. 50V / 1k = 50mA -> 50mA * 45V = 2.25W across the top resistor (0.25W across the bottom)
In these cases it's best to use an opamp buffer in between a high resistance divider and the ADC. Or use a 2k&Omega; and 18k&Omega; divider, which is not quite as power hungry as the 1k/9k version.