Shifter (InfraRedstone)

The Shifter is a block added by InfraRedstone. It has one input, one main output opposite to it, two side outputs on both remaining sides, and a stone switch that can be toggled to the left or the right. Right-clicking the stone switch toggles which side is selected.

When it receives an Infra-Redstone signal (or a normal Redstone signal which is treated as a 1 (000001)), it emits the signal through the main output shifted one bit to the left or right, depending on if the stone switch is toggled to the left or the right respectively. This is done by moving all bits one bit to the corresponding side and filling with a 0, which discards the leftmost (for left shift) or rightmost (for right shift) bit from the original input. If the discarded bit was a 1, then the corresponding side output also emits a 1 (000001), otherwise it outputs a 0 (000000).

For example, shifting a 2 (000010) to the left outputs a 4 (000100), and shifting it to the right would give a 1 (000001). Left shifting a 63 (111111) would output a 62 (111110) and a 1 (000001) to the left, while right shifting it would output a 31 (011111) and a 1 (000001) to the right.