The ALU is capable of performing two classes of operations:arithmetic and logic. The set of arithmetic operations that a particular ALU supports may be limited to adding and subtracting or might include multiplying or dividing, trigonometry functions (sine, cosine, etc) and square roots. Some can only operate on whole numbers whilst others use floating point to represent real numbers—albeit with limited precision. However, any computer that is capable of performing just the simplest operations can be programmed to break down the more complex operations into simple steps that it can perform. Therefore, any computer can be programmed to perform any arithmetic operation—although it will take more time to do so if its ALU does not directly support the operation.
An ALU may also compare numbers and return Boolean truth values (true or false) depending on whether one is equal to, greater than or less than the other .
An ALU may also compare numbers and return Boolean truth values (true or false) depending on whether one is equal to, greater than or less than the other .
Logic operations involve Boolean logic: AND, OR, XOR and NOT. These can be useful both for creating complicated conditional statements and processing Boolean logic.