Basically, each direction is a bit... on or off, it has to be handled by the game program. Physically, you can only press one or two directions at a time (though some interesting glitches can be made by manually shorting button combinations that should never happen in practice). If you had eight real directions, you could then detect something more like 16 directions depending on how the D-pad was designed, but then the programming would get more complicated.