Find first and last set bit of a long integer: Difference between revisions
Content added Content deleted
(Find first and last set bit of a long integer en FreeBASIC) |
(Find first and last set bit of a long integer en Yabasic) |
||
Line 1,822: | Line 1,822: | ||
1302^6 = 4,871,535,877,925,849,664 rupb: 62 rlwb: 6 |
1302^6 = 4,871,535,877,925,849,664 rupb: 62 rlwb: 6 |
||
</pre> |
</pre> |
||
=={{header|Yabasic}}== |
|||
{{trans|FreeBASIC}} |
|||
<lang yabasic>print "INT: find first & last set bit" |
|||
p = 1 |
|||
for j = 0 to 5 |
|||
print p using("##########"), " MSB: ", MSB(p) using("##"), " LSB: ", LSB(p) |
|||
p = p * 42 |
|||
next j |
|||
print |
|||
end |
|||
sub MSB(i) |
|||
return len(bin$(i))-1 |
|||
end sub |
|||
sub LSB(i) |
|||
return MSB(and(i,-i)) |
|||
end sub</lang> |
|||
{{out}} |
|||
<pre> |
|||
INT: find first & last set bit |
|||
1 MSB: 0 LSB: 0 |
|||
42 MSB: 5 LSB: 1 |
|||
1764 MSB: 10 LSB: 2 |
|||
74088 MSB: 16 LSB: 3 |
|||
3111696 MSB: 21 LSB: 4 |
|||
130691232 MSB: 26 LSB: 5 |
|||
</pre> |
|||
=={{header|zkl}}== |
=={{header|zkl}}== |