dc -e16o4335043554366887798866555766p #### perl -wE 'use Math::BigInt; say Math::BigInt->new("4335043554366887798866555766")->as_hex;' #### perl -wE ' sub hadd { no warnings "uninitialized"; my($a, $b) = @_; my @b = @$b; my $c; for (my $k = 0; @b || $c; $k++) { $c = 16 <= ($$a[$k] += $c + shift @b); $$a[$k] %= 16; } } my $n = "4335043554366887798866555766"; my $h = []; for my $d (split //, $n) { hadd $h, $h; hadd my $g = [], $h; hadd $h, $_ for $h, $h, $g, [$d]; } say join "", reverse map { sprintf "%x", $_; } @$h; '