Effacer les filtres
Effacer les filtres

How to remove MSB bit from a binary number?

12 vues (au cours des 30 derniers jours)
aditya kumar sahu
aditya kumar sahu le 8 Nov 2016
suppose i have an cell array 'c' of 1*256 size.
let c(1)=10010000
i want
p1= 10010000;
p2=0010000;
p3=010000;
p4=10000;
p5=0000;
p6=000;
p7=00;
p8=0;
it means in each step the MSB should be removed.. Thank you..plz any body suggest...
  2 commentaires
Walter Roberson
Walter Roberson le 8 Nov 2016
What is the the data type?
aditya kumar sahu
aditya kumar sahu le 8 Nov 2016
it is actually uint8 .but i have converted it into char..so we can do in both ways

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Nov 2016
cellfun(@(b) arrayfun(@(idx) b(idx:end), 1:length(b), 'uniform', 0), c, 'uniform', 0)
  4 commentaires
aditya kumar sahu
aditya kumar sahu le 9 Nov 2016
Modifié(e) : Guillaume le 9 Nov 2016
>> a=imread('f.jpg');
>> b=imresize(a,[16 16]);
>> d = cellstr(dec2bin(b,8))';
>> for i = 1 : rows
for j = 1 : columns
suppose d{i,j}==11000001
i want d{i,j} should be decreased to 7 bit next 6 bit next 5 bit upto 2 bit.i.e. d(i,j)=1000001; d(i,j)=000001; d(i,j)=00001; d(i,j)=0001; d(i,j)=001;d(i,j)=01;..i.e at each step msb bits should be removed.
Walter Roberson
Walter Roberson le 9 Nov 2016
That is what my first code does provided you start with cell array of string

Connectez-vous pour commenter.

Plus de réponses (1)

Guillaume
Guillaume le 9 Nov 2016
b = imresize(imread('f.jpg'), [16 1]);
d = arrayun(@(s) bitshift(b, -s), 1:8, 'UniformOutput', false);
d{1} is all the values of b shifted by 1 bit, d{2} is all the values of b shifted by 2 bits, ... d{8} is all the values of b shifted by 8 bits.
There is absolutely no point in converting numbers in strings of 0 and 1 to manipulate bits Computers are much better at manipulating bits of numbers than they are at manipulating characters of strings.
You can always convert the d{i} to strings if you really wish to.
  1 commentaire
aditya kumar sahu
aditya kumar sahu le 10 Nov 2016
Thank you to Walter Roberson & Guillaume...i got it...

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type 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