How do perform negation on binary values using matlab?
Afficher commentaires plus anciens
for example given input is = 10011011 i need negation of only MSB bit therefore the result should be =00011011 how can this be performed using MATLAB
3 commentaires
the cyclist
le 20 Fév 2014
Modifié(e) : the cyclist
le 20 Fév 2014
What is the variable type? Is it a character string?
Image Analyst
le 20 Fév 2014
Is this any different than your prior post http://www.mathworks.com/matlabcentral/answers/116422-how-to-perform-cancatenation-of-binary-numbers-using-matlab?
yeshwini
le 21 Fév 2014
Réponses (2)
the cyclist
le 20 Fév 2014
Here is one way, if the input is a character string:
char(num2str(x'=='0'))'
I feel that there must be a better way, and I am just being dumb.
1 commentaire
Alejandro Mesa Dame
le 26 Juil 2021
god-tier solution. thanks king.
the cyclist
le 20 Fév 2014
char('a'-x);
where x is your input string.
5 commentaires
David Young
le 20 Fév 2014
the cyclist
le 21 Fév 2014
The synergy was quite deliberate on my part. If you would like to enter this as a solution yourself, I will happily delete this one, to give you the credit.
David Young
le 21 Fév 2014
I realised that it was deliberate - and effective! I put a solution on Cody, no need to change anything.
yeshwini
le 21 Fév 2014
the cyclist
le 21 Fév 2014
'a' is the character string for the letter 'a'. This is a nice trick to "subtract" your string x from the ASCII character 'a', which gives you what you want.
So, if
x = '0110';
y = char('a'-x);
will result in y having the value '1001'.
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!