Set right-adjacent bits: Difference between revisions

m (→‎{{header|Go}}: Adjusted output slightly.)
Line 370:
"011110000000111100000011110000011110000111100011110011110111111111"
</pre>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<lang Mathematica>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]</lang>
{{out}}
<pre>In : 1000
Out: 1110
 
In : 0100
Out: 0111
 
In : 0010
Out: 0011
 
In : 0000
Out: 0000
 
In : 010000000000100000000010000000010000000100000010000010000100010010
Out: 010000000000100000000010000000010000000100000010000010000100010010
 
In : 010000000000100000000010000000010000000100000010000010000100010010
Out: 011000000000110000000011000000011000000110000011000011000110011011
 
In : 010000000000100000000010000000010000000100000010000010000100010010
Out: 011100000000111000000011100000011100000111000011100011100111011111
 
In : 010000000000100000000010000000010000000100000010000010000100010010
Out: 011110000000111100000011110000011110000111100011110011110111111111</pre>
 
=={{header|Perl}}==
1,111

edits