Binary addition in MATLAB
Show older comments
Is it possible to do binary addition in MATLAB? I tried using the usual add function but it didnt work. I defined 2 numbers as binary digits, say 1010 and 1100. The output came out as 2100. It's a direct addition of 2 numbers.
3 Comments
Andreas Goser
on 21 Feb 2011
You could help the community to help by giving your code and not speculate
Jan
on 21 Feb 2011
I assume that 1010 and 1100 results in 2110 and not 2100.
"Is it possible to do binary addition in MATLAB? I tried using the usual add function but it didnt work"
All numbers are binary. When MATLAB adds numbers it is doing very efficient binary addition for you.
N = 0b1010 + 0b1100
dec2bin(N)
Accepted Answer
More Answers (6)
sundeep cheruku
on 14 Apr 2013
Edited: Walter Roberson
on 14 Apr 2013
fliplr(de2bi(bi2de(fliplr([1 0 1 0]))+bi2de(fliplr([1 1 0 0]))))
while using bi2de or de2bi it takes the first bit as LSB and last bit as MSB so fliplr is necessary to use.
Hope this might work.
1 Comment
K E
on 22 Jul 2016
For other newbies trying to understand: LSB and MSB are least and most significant bit and the fliplr is to get the bits in the desired order.
Andreas Goser
on 21 Feb 2011
Try:
dec2bin(bin2dec('1010')+bin2dec('1100'))
1 Comment
Paulo Silva
on 21 Feb 2011
I wonder why matlab doesn't provide a simple way to work with binary numbers just like we do with decimal, these days any cheap calculator can do that.
Paulo Silva
on 21 Feb 2011
0 votes
http://www.mathworks.com/matlabcentral/newsreader/view_thread/257224
1 Comment
Andreas Goser
on 21 Feb 2011
You were faster... I was also considering to use lmgtfy.com :-)
Datla Ashwin
on 1 Mar 2011
0 votes
1 Comment
Walter Roberson
on 1 Mar 2011
You haven't defined which variety of binary addition you want.
Nicolás Dueñas
on 2 Aug 2016
Edited: Walter Roberson
on 2 Aug 2016
0 votes
Kevin
on 27 Nov 2024
If you don't care about the carry bit:
mod([1 0 1 0] + [1 1 0 0],2)
1 Comment
That won't work if there's any carrying. Adding 7 and 1 ought to give 8 not 6:
mod([0 1 1 1] + [0 0 0 1], 2)
0b0111 + 0b0001
Categories
Find more on Code Generation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!