The “assignment operator” (=) sets one value equal to another. The following statement assigns the value of sample to val:
val = sample;
Summary: You can combine an assignment with a bitwise or arithmetic operation.
In a convenient shorthand, C allows you to combine the assignment operator with any arithmetic or bitwise operator (see the “Arithmetic Operators” and “Bitwise Operators” sections). For example, the statement
val = val + sample;
can more conveniently be written
val += sample;
Both statements add val to sample and then assign the result to val.
Table 6.3 lists C's special assignment operators.
Table 6.3 Special Assignment Operators
Expression | Equivalent | Operation |
x *= y | x = x * y | Multiplication |
x /= y | x = x / y | Division |
x %= y | x = x % y | Modulus |
x += y | x = x + y | Addition |
x –= y | x = x – y | Subtraction |
x <<= y | x = x << y | Left shift |
x >>= y | x = x >> y | Right shift |
x &= y | x = x & y | AND |
x ^= y | x = x ^ y | Exclusive OR |
x |= y | x = x | y | Inclusive OR |
Note that the equal sign always follows the other operator. In the following code,
val ^= sample;
val =^ sample;
the first statement is meaningful, but the second is a syntax error.