= int1 << 2, if S[1] == 1 OUT = int2 , if S[0] == 0 = int2 << 1, if S[0] == 1 Larger barrel shifters have additional stages. The cascaded shifter has the further advantage over the full crossbar shifter of not requiring any decoding logic for the shift count. Cost The number of multiplexers required for an n-bit word is . Five common word sizes and the number of multiplexers needed are listed below: 128-bit — 64-bit — 32-bit — 16-bit — 8-bit — Cost of critical path in FO4 (estimated, without wire delay): 32-bit: from 18 FO4 to 14 FO4 Uses A common usage of a barrel shifter is in the hardware implementation of floating-point arithmetic. For a floating-point add or subtract operation, the significands of the two numbers must be aligned, which requires shifting the smaller number to the right, increasing its exponent, until it matches the exponent of the larger number. This is done by subtracting the exponents and using the barrel shifter to shift the smaller number to the right by the difference, in one cycle. See also Circular shift References Further reading External links Barrel-shifter (8 bit), University of Hamburg Implementing Barrel Shifters Using Multipliers (Paul Gigliotti, 2004-08-17) Digital circuits Binary arithmetic Computer arithmetic Unary operations Binary operations