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?

 采纳的回答

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 个评论

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!

请先登录,再进行评论。

更多回答(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 2019-10-17

1 个投票

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.

类别

帮助中心File Exchange 中查找有关 Encryption / Cryptography 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by