- or download this
@ary = map { pack "B32", join "", (1) x $_, (0) x (32 - $_) } 0..31;
print unpack("B*",$_),"\n" for @ary;
- or download this
$#ary = 31; # create an array of 32 empty slots
$c = 0; vec($_,0,32) = ~((1<<++$c)-1) for @ary;
...
vec($ary[31+$_],0,32) = ~((1<<(-$_+1))-1) for -31..0;
print unpack("B*",$_),"\n" for @ary;
- or download this
@ary = map { pack "B32", join "", (1) x $_, (0) x (32 - $_) } 0..31;
$dotted = "192.168.248.17";
...
192.168.248.17
192.168.224.0
192.168.255.255
- or download this
#!/usr/bin/perl
# file cidr
$m=pack B32,pop=~'/'x$';printf"$` network %vd broadcast %vd netmask %v
+d\n",($z=eval$`)&$m,$z|~$m,$m
- or download this
qwurx [shmem] ~> cidr 192.168.248.17/19
192.168.248.17 network 192.168.224.0 broadcast 192.168.255.255 netmask
+ 255.255.224.0