MATLAB Answers

function for addition 2^16 modulo

8 ビュー (過去 30 日間)
Saranya Krishnamurthy
Saranya Krishnamurthy 2021 年 4 月 17 日
Addition modulo (denoted with a boxed plus ⊞)
what is the command for 2^16 addition modulo: a ⊞ b?
Can someone help?
  2 件のコメント
Saranya Krishnamurthy
Saranya Krishnamurthy 2021 年 4 月 19 日
binary
even if its integer its fine

サインインしてコメントする。

回答 (2 件)

Bjorn Gustavsson
Bjorn Gustavsson 2021 年 4 月 19 日
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
  1 件のコメント
Saranya Krishnamurthy
Saranya Krishnamurthy 2021 年 4 月 20 日
Thank you will try it

サインインしてコメントする。


John D'Errico
John D'Errico 2021 年 4 月 19 日
編集済み: John D'Errico 2021 年 4 月 19 日
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 = 4018
AplusB = dec2bin(AplusB)
AplusB = '111110110010'
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)
ans = '111110110010'
As you can see, the result is the same. We could have done it in a variety of ways. But this is simplest.
  1 件のコメント
Saranya Krishnamurthy
Saranya Krishnamurthy 2021 年 4 月 20 日
okay will try it

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by