In
computer processors the
carry flag (usually indicated as the
C flag) is a single
bit in a system
status (flag) register used to indicate when an
arithmetic carry or borrow has been generated out of the
most significant ALU bit position. The carry flag enables numbers larger than a single ALU width to be added/subtracted by carrying (adding) a binary digit from a partial addition/subtraction to the
least significant bit position of a more significant word. It is also used to extend
bit shifts and rotates in a similar manner on many processors (sometimes done via a dedicated
X flag). For subtractive operations, two (opposite) conventions are employed as most machines set the carry flag on borrow while some machines (such as the
6502 and the
PIC) instead reset the carry flag on borrow (and vice versa).