Binary addition in MATLAB
Ältere Kommentare anzeigen
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 Kommentare
Andreas Goser
am 21 Feb. 2011
You could help the community to help by giving your code and not speculate
Jan
am 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)
Akzeptierte Antwort
Weitere Antworten (6)
sundeep cheruku
am 14 Apr. 2013
Bearbeitet: Walter Roberson
am 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 Kommentar
K E
am 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
am 21 Feb. 2011
Try:
dec2bin(bin2dec('1010')+bin2dec('1100'))
1 Kommentar
Paulo Silva
am 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
am 21 Feb. 2011
0 Stimmen
http://www.mathworks.com/matlabcentral/newsreader/view_thread/257224
1 Kommentar
Andreas Goser
am 21 Feb. 2011
You were faster... I was also considering to use lmgtfy.com :-)
Datla Ashwin
am 1 Mär. 2011
0 Stimmen
1 Kommentar
Walter Roberson
am 1 Mär. 2011
You haven't defined which variety of binary addition you want.
Nicolás Dueñas
am 2 Aug. 2016
Bearbeitet: Walter Roberson
am 2 Aug. 2016
0 Stimmen
Kevin
am 27 Nov. 2024
If you don't care about the carry bit:
mod([1 0 1 0] + [1 1 0 0],2)
1 Kommentar
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
Kategorien
Mehr zu Code Generation finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!