How to convert binary bits of a vector, say m, after rotating it left by 1 bit, into decimal ?

2 vues (au cours des 30 derniers jours)
m = [16, 10]; % 1x2 array
a = fi(m, 0, 8, 0);
b = bin(bitrol(a, 1)); % Left rotate a by 1 bit
b = 00100000 00010100 % output , 1x19 char
c = bin2dec(b) % decimal representation of b
c = 8212 % output, not same as array 'm'
How to get back m ??
Please help!
  1 commentaire
Abdul Gaffar
Abdul Gaffar le 11 Jan 2021
A small improvement:
m = [16, 10]; % 1x2 array
a = fi(m', 0, 8, 0); % m is changed to m' , where ' denotes transpose
b = bin(bitrol(a, 1)); % Left rotate a by 1 bit
% b = 00100000 00010100 % output , 1x19 char
c = bin2dec(b) % decimal representation of b
d = c' % Added
% d = [32, 20] % output in array format
Thanks!

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 11 Jan 2021
m = [16; 10]; %use column vector
a = fi(m, 0, 8, 0);
b = bin(bitrol(a, 1));
c = bin2dec(b);
  3 commentaires
David Hill
David Hill le 11 Jan 2021
a=fi(m(:),0,8,0);
b = bin(bitrol(a, 1));
c = reshape(bin2dec(b),size(m));

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numeric Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by