by majeedh
 P: 14 how would you convert a negative number into a hexadecimal format?
Emeritus
PF Gold
P: 2,361
 Quote by majeedh 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)
 Mentor P: 15,170 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.

 Related Discussions Set Theory, Logic, Probability, Statistics 6 General Math 14 General Math 20 Calculus 3 Introductory Physics Homework 5