Adding Hexadecimal numbers?

Can someone help me how to add 2 hexadecimal numbers? I would appreciate the help and sentiment.
I tried using: c=dec2hex(hex2dec(a)+hex2dec(b)));
But it didn't work. Is there a correct way to do this?

 Accepted Answer

Hi Jed Louise Lesma,
Despite the extra bracket in your code (I removed it), the method you tried should work:
a = '3afb';
b = '2839';
c=dec2hex(hex2dec(a)+hex2dec(b));
Kind regards,
Robert

3 Comments

Hello Robert,
Thank you for replying! Sorry about the extra bracket my eyes were kinda hazy.
Can this code also be used in a gui?
c=dec2hex(hex2dec(a)+hex2dec(b));
I tried inputting it like this:
a = str2double(get(handles.edit1, 'String'));
b = str2double(get(handles.edit2, 'String'));
c = dec2hex(hex2dec(a)+hex2dec(b));
but it responded with this:
Error using hex2dec>hex2decImpl (line 58)
Input to hex2dec should have just 0-9, a-f, or A-F.
The "hex"-values are supposed to be given as char. Thus the str2double()-command should be deleted.
Kind regards,
Robert
I appreciate what you did.
Thank you!

Sign in to comment.

More Answers (2)

If you're using release R2019b or later, you can enter hexadecimal numbers directly.
>> 0x3afb + 0x2839
ans =
uint16
25396
>> hex2dec('3afb')+hex2dec('2839')
ans =
25396
Walter Roberson
Walter Roberson on 17 Oct 2019
If there is a possibility that the user might enter hex values with more than 53 significant bits then you should use sscanf with %lx format instead of hex2dec.

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!