Adders are used extensively in Computer arithmetic in addition, Subtraction, multiplication and division. There are is a constant attempt to make Adders faster as faster Arithmetic leads to faster Machine , E,g Faster Graphics . At very basic level Adders are classified as Half Adders and Full Adders:
Half Adder : Its a 1-bit Adder with no Carry-in. Output is 1-bit Sum and a Carry-out. Sum is XOR of inputs and Carry out is AND of inputs & is represented as follows:
Sum = A ^ B; Carry = A & B;
Gate and block diagram representation of Half Adder is shown below :


(Courtesy: Creative Commons, Attribution-Share Alike 4.0 International )

Full Adder : Its a 1-bit/multi-bit Adder with carry in from previous Adder. Sum and Carry-out are represented as :
Sum = A ^ B ^ C; = A B C + A' B' C' + A' B C' + A B'C'; Carry = C (A ^ B) + AB; = C ( A B' + A' B) + AB; = A B' C + A' B C + A B;
Gate and block diagram representation of Half Adder is shown below :


(Courtesy : Creative Commons Attribution-Share Alike 4.0 International )

Block Diagram
Multi-bit Adders can be formed by combining HA and FA. In each case, calculation of Carry is the most critical part in terms of Timing. Here’s an example of 2-bit Adder & 4-bit Adder formed using 1 HA and multiple FA:


(Courtesy: Creative Commons Attribution-Share Alike 4.0 International )
In order to optimize carry and make Adders fasters, different flavors of Adders have been introduced:
1. Ripple Carry Adder
2. Cary-Save Adder
3. Look-Ahead Carry Adder