Negative Number into Hexadecimal

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 59K views
majeedh
Messages
14
Reaction score
0
how would you convert a negative number into a hexadecimal format?
 
Physics news on Phys.org
majeedh said:
how would you convert a negative number into a hexadecimal format?

There are a couple of methods of doing so.

One is to use a sign bit, where the MSB represents the sign (1 meaning negative. Thus 01 would represent +1 and 81 would represent -1 for two digit Hex numbers

Another is two's complement. Here you invert all the bits and then add 1 to the result. thus 01 still represents +1 and FF represents -1.

The advantage of two's complement is that it is easy to do with logic gates, and gives a result that you can add directly. For example, FF + 01 =00 (ignoring the carry)

other examples:
0C + FA = 07 (12 + (-5) = +7)
05 + F3 = F9 (5+(-12) =-7)
 
There are a couple of other methods in use: one's complement and excess-n notation. Ones complement is even easier to implement than two's complement: simply flip each bit. In excess-n notation, 0 represents -n, 1 represents -n+1, and so on.

One problem with signed magnitude and ones complement notation is that both have positive and negative zero as different numbers. This is one of the reasons these two techniques have largely been abandoned.

Two's complement is the dominant mechanism by which negative numbers are represented in binary. There is one important exception: Excess-n notation is used to represent the exponent in the IEEE floating point representation.