ClearAll[ShowSetRightBits] ShowSetRightBits[b_String,n_Integer]:=Module[{poss,chars}, chars=Characters[b]; poss=Position[chars,"1"]; poss=Union[Flatten[Outer[Plus,poss,Range[n]]]]; {{"In :",b},{"Out:",StringJoin[ReplacePart[chars,(List/@poss)->"1"]]}}//Grid ] ShowSetRightBits["1000",2] ShowSetRightBits["0100",2] ShowSetRightBits["0010",2] ShowSetRightBits["0000",2] ShowSetRightBits["010000000000100000000010000000010000000100000010000010000100010010",0] ShowSetRightBits["010000000000100000000010000000010000000100000010000010000100010010",1] ShowSetRightBits["010000000000100000000010000000010000000100000010000010000100010010",2] ShowSetRightBits["010000000000100000000010000000010000000100000010000010000100010010",3]