Adding Signed Hexadecimal numbers

AI Thread Summary
The discussion focuses on adding two signed hexadecimal numbers, A (0D34) and B (DD17), in sign-magnitude format. The user initially converts both numbers to binary and attempts to find the sum, mistakenly applying two's complement to B. The correct approach involves recognizing that B is negative and requires subtracting its magnitude from A's magnitude. After correcting the subtraction, the user arrives at the correct answer, CFE3, emphasizing the importance of understanding signed addition rules. The conversation highlights the need for clarity in handling signed numbers in hexadecimal arithmetic.
cjspringer
Messages
1
Reaction score
0
[Mentor's note: This post does not use the template because it was originally posted in a non-homework forum. I moved it here instead of deleting it and asking the poster to re-post, because he has already shown a reasonable amount of effort.]

I am having a bit of trouble with this homework assignment...

I am given two hexadecimal numbers.
A = 0D34
B = DD17

The directions are to find the sum of A and B if they represent signed 16-bit hexadecimal numbers stored in sign-magnitude format.

I attempted to convert both numbers to binary.

0D34 = 0000 1101 0011 0100
DD17 = 1101 1101 0001 0111

then, because the leading 1 in the binary representation of DD17 makes it negative, I took the 2's comp of DD17 and got 0010 0010 1110 1001.

However when I add that result with the binary representation of 0D34 I get..

0000 1101 0011 0100
+ 0010 0010 1110 1001
--------------------------------
0011 0000 0001 1101

which is represented in hexadecimal as 301D. I know this is wrong because the correct answer is CFE3.

Can anyone point out what I am doing wrong here? It would be of great help.
Thanks.
 
Last edited by a moderator:
Physics news on Phys.org
I believe the rules for signed addition are...

If they have the same sign, add the magnitudes and keep that sign.

If they have different signs, then subtract the smaller magnitude
from the larger one. The sign of the number with the larger
magnitude is the sign of the result.

It appears the second case applies because |B| > |A|.

Edit: Yes that gives the answer CFE3
 
Last edited:
Note that you got the two's complement of the required answer (CFE3) as you subtracted B from A , not A from B.
 
Thread 'Have I solved this structural engineering equation correctly?'
Hi all, I have a structural engineering book from 1979. I am trying to follow it as best as I can. I have come to a formula that calculates the rotations in radians at the rigid joint that requires an iterative procedure. This equation comes in the form of: $$ x_i = \frac {Q_ih_i + Q_{i+1}h_{i+1}}{4K} + \frac {C}{K}x_{i-1} + \frac {C}{K}x_{i+1} $$ Where: ## Q ## is the horizontal storey shear ## h ## is the storey height ## K = (6G_i + C_i + C_{i+1}) ## ## G = \frac {I_g}{h} ## ## C...
Back
Top