Fix the two-valued ctor

It should set the number to negative only when the high argument
is a signed numerical value.