A while back I worked at a company that had 3 public Class A IPv4 sub-nets allocated to it. They obviously got them early on, but ended up using all of them, including in one instance for phone home devices, (well, network send home). After a few years working there, that company got bought by an even larger company. This other company had at least 2 public Class A IPv4 sub-nets, and was one of the original users / founders of the Internet. (You have three guess, just don't cheat and look up during the day...) Of course trying to get those 3 Class As ownership transferred to the new company found that the organization that handled IP allocations, wanted to claw back some of those Class As. I mean, what company needs 5 public Class A IPv4 sub-nets, that is not an Internet service provider?
If you understand what that means, I don't have to tell you. But, for others, their are 24 million IPv4 addresses in a Class A sub-net. To be fair, it can't be broken down too far. But, in theory, you can TONS of Class C sub-nets out of a Class A. Each of those Class Cs could be allocated to a different company, country or individual. Like 64K Class C sub-nets out of a Class A, (in theory).
Any way, we got to the IPv4 shortage because the Internet was not designed for the future. Nor was IPv4 sub-net allocations done in a forward thinking mode. Thus, NAT at home, NAT at work, NAT at a much larger scale.
In reality, companies don't need public IPs inside their own networks. In fact, it could be considered a security breach to use such. So a company could have a simple public Class C at each location for external access. Or even just a few IPs at smaller sites. However, no one knew this Internet thing was going to take off in the way that it did.