A device for storing and processing data, according to a program of instructions stored within the computer itself. The term computer normally refers to electronic digital computers, but analog computers also exist for use in specialist applications. Unlike most other machines, it is not necessary to build a new computer for each new task. The mathematical study of what tasks are capable of being computed is known as compatibility, and complexity is the study of how hard it is to compute a task.
Numerical analysis concerns the fastest and most accurate way to solve numerical problems.
A computer system can be regarded as being organized in a number of layers. The CPU takes one instruction at a time from the memory, decodes it, and then performs the action specified by the instruction. Each instruction specifies a very simple operation, for example, multiplying together two numbers or checking that two pieces of information are identical. Other hardware items are peripheral devices, which include permanent data storage devices such as hard and floppy disks, input devices for feeding information into the system, and output devices through which results are fed out. A small layer of software above the hardware, called the microcode, allows the computer to execute a larger set of instructions than could be easily provided in hardware alone.