Any reason for using local variables and not the arguments to this function for bit shifting?