I had to write code to convert MGRS to LL last year, however I am unable to post the code. What I can post though are the two main resources I utilized while writing the code:
edit: There is also GeographicLib, an open source library that has code for MGRS conversions, and is licensed under MIT. You'll need to look at the GeographicLib::MGRS class, and the MGRS.hpp and MGRS.cpp files if you need to look at the code.
edit #2: If you can elaborate more on whether you are looking for code, a library, or a utility to convert one or more coordinates, you'll get better answers.
Doing this the "obvious" way will be accurate (and fast) enough: Convert the center of the MGRS square to UTM (exact). Convert UTM to Lat/Long (error = 5 nanometers). Compute the new position as a geodesic calculation (error = 15 nanometers). Convert to UTM (error = 5 nanometers). Convert to MGRS (exact). So the total error is 25 nanometers or less. (The errors quoted are those obtained with GeographicLib, a library of accurate geographic routines written by me.)
Best Answer
I had to write code to convert MGRS to LL last year, however I am unable to post the code. What I can post though are the two main resources I utilized while writing the code:
US Military Grid Reference System description, published by NGA and the related Appendix and an Online MGRS to LL Converter to check your results as you are coding.
edit: There is also GeographicLib, an open source library that has code for MGRS conversions, and is licensed under MIT. You'll need to look at the GeographicLib::MGRS class, and the MGRS.hpp and MGRS.cpp files if you need to look at the code.
edit #2: If you can elaborate more on whether you are looking for code, a library, or a utility to convert one or more coordinates, you'll get better answers.