Find first and last set bit of a long integer: Difference between revisions
Content added Content deleted
(add RPL) |
|||
Line 1,923: | Line 1,923: | ||
23731861809918778839625988256328912896 │ 12 │ 124 │ 10001110110101001011100011111110101101101100001101011011001001101111110110111011000001001000010001101000010010001000000000000 |
23731861809918778839625988256328912896 │ 12 │ 124 │ 10001110110101001011100011111110101101101100001101011011001001101111110110111011000001001000010001101000010010001000000000000 |
||
─────────────────────────────────────────┴──────┴──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── |
─────────────────────────────────────────┴──────┴──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── |
||
</pre> |
|||
=={{header|RPL}}== |
|||
≪ → n |
|||
≪ '''IF''' n #0 ≠ '''THEN''' |
|||
0 #1 |
|||
'''WHILE''' n OVER AND #0 == '''REPEAT''' SL SWAP 1 + SWAP '''END''' |
|||
DROP '''END''' |
|||
≫ ≫ '<span style="color:blue">LWB</span>' STO |
|||
≪ → n |
|||
≪ '''IF''' n #0 ≠ '''THEN''' |
|||
63 #1 RR |
|||
'''WHILE''' n OVER AND #0 == '''REPEAT''' SR SWAP 1 - SWAP '''END''' |
|||
DROP '''END''' |
|||
≫ ≫ '<span style="color:blue">UPB</span>' STO |
|||
≪ { } 0 5 '''FOR''' j 42 j ^ R→B DUP <span style="color:blue">UPB</span> SWAP <span style="color:blue">LWB</span> R→C + '''NEXT''' ≫ EVAL |
|||
{{out}} |
|||
<pre> |
|||
1: { (0,0) (5,1) (10,2) (16,3) (21,4) (26,5) } |
|||
</pre> |
</pre> |
||