The number 0x87654321is incorrect, it should be 0x78563412,
because single machine byte chunks are not considered to be swapped.
(no architecture makes transofmation of 0x87<=>0x78 [decimal:135<=>120])
If I misunderstand the point then function explanation should be clearer :)
Oops...I think that the errorneous explanation was from my keyboard.
$jhi++; # http://www.iki.fi/jhi/
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen