Binary addition in MATLAB
Mostra commenti meno recenti
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 Commenti
Andreas Goser
il 21 Feb 2011
You could help the community to help by giving your code and not speculate
Jan
il 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)
Risposta accettata
Più risposte (6)
sundeep cheruku
il 14 Apr 2013
Modificato: Walter Roberson
il 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 Commento
K E
il 22 Lug 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
il 21 Feb 2011
Try:
dec2bin(bin2dec('1010')+bin2dec('1100'))
1 Commento
Paulo Silva
il 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
il 21 Feb 2011
0 voti
http://www.mathworks.com/matlabcentral/newsreader/view_thread/257224
1 Commento
Andreas Goser
il 21 Feb 2011
You were faster... I was also considering to use lmgtfy.com :-)
Datla Ashwin
il 1 Mar 2011
0 voti
1 Commento
Walter Roberson
il 1 Mar 2011
You haven't defined which variety of binary addition you want.
Nicolás Dueñas
il 2 Ago 2016
Modificato: Walter Roberson
il 2 Ago 2016
0 voti
Kevin
il 27 Nov 2024
If you don't care about the carry bit:
mod([1 0 1 0] + [1 1 0 0],2)
1 Commento
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
Categorie
Scopri di più su Code Generation in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!