I needed to upgrade a Cisco IOS on a 2691 Router from a 12.3 track requiring 32 MB of flash memory to a 12.4 track requiring 64 MB of flash memory.  When I looked for the current flash memory installed on the device, it reported 62592K bytes of ATA System CompactFlash (Read/Write) which divided by 1024 came out to be 61.125 MB of RAM. 

I sent in a ticket to Cisco asking if I would be able to use the new image since my Flash memory showed less than what was required.  They told me that "The router has 64MB of flash memory.  Sometimes the router does not recognize the total amount of Compact Flash.  The compact flash sizes you can find for Cisco routers are: 2, 4, 8, 16, 32, 64, and 128MB.  Although the 12.4 version's minimum requirement is 64MB, the total size of the code itself does not exceed 60 MB".

The code was actually around 34 MB, so it wouldn't fit on a 32 MB flash card.  You would have to have the next available amount which is 64.