#!/usr/bin/perl use bigint; sub split32 { my $v = shift; my $n = shift; my $mask = 0xffffffff; my @b32; for (1..$n) { unshift @b32, $v & $mask; $v >>= 32; } return @b32; } my $n = 2; # n x 32-bit my $v = 1024; for (1..6) { print unpack("B*", pack("N$n", split32($v, $n) )), "\n"; $v *= 1024; }