Why this method? Do you plan to use this function on a 16-bit platform?