In a system level programming language like C, C++ or D, what is the best type/encoding for storing latitude and longitude?
The options I see are:
If by "storing" you mean "holding in memory", the real question is: what are you going to do with them?
I suspect that before these coordinates do anything interesting, they will have been funnelled as radians through the functions in math.h. Unless you plan on implementing quite a few transcendental functions that operate on Deg/Min/Secs packed into a bit field.
So why not keep things simple and just store them in IEEE-754 degrees or radians at the precision of your requirements?