This question reminds me of a similar one my students would ask... "How many IP Addresses are there" and as usual, simple questions like these always have a complicated answer:)
KINGLIZARD476, there are a few things we should consider before answering your question.
Firstly and most important, a MAC address consists of two major parts - The manufacturer's ID (first 3 bytes/24 bits) and the unique serial number (second 3 bytes/24 bits) (for more info on this check
So, for each manufacture, we have a possible 16777216 MAC addresses, and you might now ask ... so what happens when the manufacture reaches MAC Address number 16777216? Simple ... he starts from number 1, re-using the same numbers because it's highly unlikely you will ever buy two or more network cards with the same MAC Address!
The 2nd part of the answer has obviously got to do with the manufacturer's ID, where the 3 bytes/24 bits will give us 16777216 possible combinations. Here we will find a number of restrictions but be aware that there aren't that many manufactures or even close to half of them, around the world. The IEEE group is responsible to assigning the first 3 bytes to the applicant vendor and you can obtain a full list of them if you look for RFC1700.
In a purely theoretical and ideal world, I wouldn't sit and type all the above, but simply point you to Fallenzero's answer.