Ignoring core type "e.g. CMOS" here is a list of base part numbers. CMOS (low power) cores typically had a "27C" prefix.
1702 = 256 x 8 bit = 256 Byte = 2048 bit
2704 = 512 x 8 bit = 512 Byte = 4096 bit (I have never seen a 2704)
2708 = 1K x 8 bit = 1K Byte = 8096 bit
2716 = 2K x 8 bit = 2K Byte = 16384 bit
2732 = 4K x 8 bit = 4K Byte = 32768 bit
2764 = 8K x 8 bit = 8K Byte or 65536 bit
27128 = 16K x 8 bit = 16K Byte = 128K bit
27256 = 32K x 8 bit = 32K Byte = 256K bit
27512 = 64K x 8 bit = 64K Byte = 512K bit
27010 = 128K x 8 bit = 128K Byte = 1M bit (or 27C1001)
27020 = 256K x 8 bit = 256K Byte = 2M bit (or 27C2001)
27040 = 512K x 8 bit = 512K Byte = 4M bit (or 27C4001)
Always -> little b = bit, big B = Byte. A 2716 is a 16Kb EPROM and a 27128 is a 16KB EPROM. Big difference.
There were variations of pretty much each size EPROM, sometimes from the same manufacturer.
You need to examine the specific part you are replacing to make sure the replacement part has the same pin out.
Starting mostly with the 64KB EPROMs - there were several variations such as where the EPROM would be configured as 16 bits wide.
For Example: 27C1024 = 64K x 16 bit or 1Mb -- same number of bits as the 27C010 but a shallower depth and wider data bus.
And when some of the EPROMs went above 28 pins, several manufacturers tried to get their specific pinout to become the JEDEC standard... which explains variations such as the one shown in post 16 above.
Note that devices as small as the 27256's are *still* being made but are no longer considered eraseable. They are now available as OTP or One Time Programmable devices. They are plastic encased rather than the pricey ceramic, windowed case. Program it once - if wrong, toss it, get another and try again. Bad point to this is that it cannot be reused. Good point to this is they are *CHEAP* and still available as alternatives to cheap ebay knockoffs. A brand new 27C256 can be bought for just over a buck apiece.