Understanding memory requirements for an image file
Pixels per mm = 400/61.2 = 6.536


Yup.


  Number of pixels in one image = 65.36 x 65.36 = 4272 pixels


Well, you mean pixels per icon. But even so, you cannot produce fractional pixels, so your number should either be 65 x 65 or 66 x 66. And this leads to a further simplification. Why not make your icons 64 x 64? This will simplify address calculations for your memory, and will only produce a "shrinkage" of about 2%. And trust me, at this size nobody will notice. Then your icons will be 4096 pixels in size.


  Each pixel will require 18 bits X 3 (for R, G and B) = 54 bits


Nope. As jms just answered, it's 18 bits per pixel total, or 6 bits per color. Again, though, you should consider not worrying quite so much about the bit level. Store your color values as partial bytes (6 bits per byte) with separate bytes per color. This will take 33% more memory, but will drastically reduce your processing load when transferring from memory to screen.


  Total bits required = 4272 x 54 = 230688 bits = 28.16 kilobytes


Total bits is 4096 x 24, or 98304 bits, or 12288 bytes.


  For 50 images, I will require 1.375 megabytes of storage.


12288 times 50 gives 614400 bytes.