I'm scratching my head on this string-to-number conversion. Here's the basis of the problem.
I get from a ncurses multi-box (that has 10 choices) an array of indices as to which check boxes are checked. Like this:
8 1 9
This one shows that checkboxes # 1, 8 and 9 were checked. The first checkbox of the list is # 0.
Now, I want to transfer this to two 8-bit bit-mapped numbers. The number above would yield, as a 16-bit number:
0x0302
I would like to get the following two 8-bit numbers:
0x03 0x02
Is there a way to do this without having any additional module ?
On the other hand, I tried Bit::Vector. It is a surprisingly complete module and I can do this, @sel being the array returned from the ncurses checkbox):
my $vector = Bit::Vector->new(16); $vector->Index_List_Store(@sel); $value = $vector->to_Hex();
Sure enough, $value = 0302. But it is a string, eg: 0x30333032.
How can I get my two bytes out of that ?
Moreover, am I making things more complicated that they should be ? This surely does not make me feel lazy ! ;-)
Thanks !
Al
In reply to Making two 8-bit numbers from indices of set bits by carcassonne
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |