The shift operation includes "logical Shift" (logical shift) and "arithmetic Shift" (arithmetic shift).
Logical shift: bit discarded, vacant bit (vacant bit) filled with 0.
Arithmetic shift: The bit discarded, the vacant bit (vacant bit) is filled with "sign bit", so it is generally used in the right-shift operation.
C + +, the number of integers and unsigned number two, for these two numbers do left shift, right shift operation, slightly different:
1, if the number is unsigned, whether it is left or right shift is a "logical shift." example, the result of left shift and right shift operation for unsigned number 179 is the complement 0 operation;
2 , if the number of symbols, left to move the operation, then do is "logical shift" with the number of unsigned left to move the same. If you are doing a right-shift operation, the "arithmetic shift" is what you do.
In the end, this paper gives the recursive working mechanism legend of decimal number conversion to binary, as follows
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Analysis of C + + shift operation