It is an unfortunate but unavoidable fact that the most abstruse technological concepts must be understood when discussing computers at even a beginner's level. A case in point is the need to understand base two arithmetic to make sense of software memory requirements.
A computer numeric processor is made up of many decision circuits, each of which may be either off or on. These two states are represented by a zero or one. In order to count higher than one, such bits (BInary digiTS) are strung together. A group of eight is known as a byte (techno-weenies are known for holding puns in high regard). One byte can represent numbers from zero (00000000) to 255 (11111111), or 2^8 = 256 distinct states. (The carat stands in for raising the first number to the exponent of the second.) Of course, bytes may also be combined to represent larger numbers. The computer represents all numbers and characters internally in this fashion.
On a practical scale, memory is measured in kilobytes (KB) or megabytes (MB). A kilobyte is not, as one might at first expect, 1000 bytes. Rather, the correct sum is 2^10 = 1024 bytes. Likewise, a megabyte is not 1000^2 = 1,000,000 bytes, but instead 1024^2 = 1,048,576 bytes. This is a significant difference. By the time we get to a gigabyte (1024^3 bytes), the difference between the base two and base ten amounts is almost 71 MB.
It is common for both computer memory and disk space to be measured in these units; it's important not to confuse the two. "640 KB RAM" refers to the amount of main memory the computer has available to its CPU. "40 MB disk" refers to the amount of space available for the storage of program files, data, and other permanent information.