function for addition 2^16 modulo
10 views (last 30 days)
Show older comments
Addition modulo (denoted with a boxed plus ⊞)
what is the command for 2^16 addition modulo: a ⊞ b?
Can someone help?
2 Comments
Answers (2)
Bjorn Gustavsson
on 19 Apr 2021
Just make sure that your ints a and b are in int32 or larger number of bit-formats, then use:
C = mod(a+b,2^16)
HTH
John D'Errico
on 19 Apr 2021
Edited: John D'Errico
on 19 Apr 2021
Your numbers are in BINARY form, and you want to add modulo 2^16.
The simplest solution is to convert to a decimal integer. I'll assume they are stored as chars. But if they are boolean vectors, just as easy.
A = '101100110001';
B = '10010000001';
AplusB = mod(bin2dec(A) + bin2dec(B),2^16) % as a base 10 integer result
AplusB = dec2bin(AplusB)
You can do it all in one line. Or, you could even write a little function.
binplus16 = @(a,b) dec2bin(mod(bin2dec(A) + bin2dec(B),2^16));
binplus16(A,B)
As you can see, the result is the same. We could have done it in a variety of ways. But this is simplest.
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!