in reply to 5x6-bit values into/out of a 32-bit word
How about these:
Output:#!perl -w use strict; my $fmt = "0b" . ("%06b" x 5); sub b5ToInt { oct sprintf "0b%06b%06b%06b%06b%06b", @_ } sub intToB5 { map { oct "0b$_" } unpack "(a6)5", sprintf "%030b", $_[0] } my $word = b5ToInt(1,2,3,4,5); printf "word = %d = 0x%08x = 0b%030b\n", $word, $word, $word; my @out = intToB5($word); print "out = ", join(", ", @out), "\n";
word = 17314053 = 0x01083105 = 0b000001000010000011000100000101 out = 1, 2, 3, 4, 5
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: 5x6-bit values into/out of a 32-bit word
by Thelonius (Priest) on Mar 18, 2007 at 01:46 UTC | |
by grinder (Bishop) on Mar 18, 2007 at 10:28 UTC | |
by Thelonius (Priest) on Mar 18, 2007 at 15:01 UTC | |
by grinder (Bishop) on Mar 18, 2007 at 17:37 UTC | |
by blazar (Canon) on Mar 19, 2007 at 11:11 UTC | |
|
In Section
Seekers of Perl Wisdom