in reply to 5x6-bit values into/out of a 32-bit word
Assuming the following bit layout:
One way:0055 5555 4444 4433 3333 2222 2211 1111
# Get individual num: $num = ($aggregate >> ($i*6)) & 0b111111; # Set individual num: $aggregate = ($aggregate & ~(0x3F << ($i*6))) | ($num << ($i*6));
Update: Added missing ~.
Update: Thelonius's newer post shows how to use this method to get/set all the nums at once.
|
---|
In Section
Seekers of Perl Wisdom