Use different approach to dealing with signedness.

https://plus.google.com/113237499567561338745/posts/TtYds4bGysM

Thanks, arv!