A calculator is generally composed of arithmetic unit, controller, memory, keyboard, display, power supply and some optional peripherals. The arithmetic unit and controller of the low-end calculator are realized by the digital logic circuit for simple serial operation, and the random access memory has only one or two units for accumulative storage. High-end calculators are implemented by microprocessors and read-only memory for various complex calculation programs, and there are more random storage units to store input programs and data. The keyboard is the input component of the calculator, which generally adopts contact or sensor type. To reduce the size of the calculator, one key often has multiple functions. The display is the output part of the calculator, such as a light-emitting diode display or a liquid crystal display. In addition to displaying calculation results, there are often overflow indications, error indications, etc. The power supply of the calculator adopts an AC converter or battery, and the battery can be recharged with an AC converter or a solar energy converter. In order to save power, the calculators use large-scale integrated circuits (see complementary metal-oxide-semiconductor integrated circuits) made by cmos technology, and are equipped with automatic power-off circuits that do not operate at regular intervals. The peripherals available for the calculator include micro printers, cassette tape drives, and magnetic card players.