My 2002 325ci 5sd gets 7L/100km at 100kph, in the city, I get around 9-10L/100km depending on how I drive.
Some things to ponder...
What oil are you using? Hopefully BMW Castrol or Mobil 1 0w40.
Do you have an automatic or manual gearbox?
What tires do you have? wider, softer tires = lower mpg.
Have you checked each wheel to make sure it spins freely when spun? You could have a sticky caliper.
What fuel are you using? Non-premium fuel will reduce your fuel efficiency. So will using gas with ethanol in it. For best efficiency, use Shell 91. I think it's the only fuel in Ontario without ethanol. Ethanol has about 34% less energy than gasoline, so a 10% ethanol fuel will give you around 3% less efficiency.
Have you changed your oil recently?
Have you changed your engine air filter recently?
Has your car had its inspection II recently?
What is your tire pressure set at?
What's your mix of highway to city driving?
Have you checked for vacuum air leaks, especially in the intake boot/elbows? If you have never changed them, then you can pretty much guarantee that the intake is leaking. The dead giveaway is a whistling sound, but it doesn't always show up.
Here's some info to help you out.
Part #6 is the main culprit, though many of the smaller hoses can also deteriorate.
Here's what mine looked like