how can select a specific bits from logical vectors !

1 view (last 30 days)
Furat Alobaidy on 16 Oct 2019
Commented: Furat Alobaidy on 25 Oct 2019
i have vector contains hex numbers such as :(16-bits)
(0000 0011 1100 0000)
i need select the middel bits from ( b7-b10) then read its as decimal asuch as = 15
i alraedy did that as in the code , but the problem is just work with last row in the vector for my data base ('address.xlsx')! this data base contains 16 rows!
i need find and stor the resuts as vecotr for all my data base numbers not just last elment!
clc;
clear all;
num=dat(:,1);
for n=1:numel(num)
b=hex2dec ([dat(:,1)]);
b1 = hex2dec('000fff0');
% b = hex2dec ('6e206b'); % for example its work with one elemnt
format hex;
x=bitand(b1,b);
cc=dec2hex(x);
bin=hexToBinaryVector(cc);
ccz=bin((end-flip(7:10)+1));% how can expand this term for all vector!
bp=num2str(ccz);
bp11= bp(find(~isspace(bp)));
v1= bin2dec(bp11);
end

Divya Gaddipati on 23 Oct 2019
Hi,
Making the following changes to your code will solve the issue:
• Line - 6
b = hex2dec(dat{n}); % since the variable “dat” is a cell array
• Line - 16
v1{n} = bin2dec(bp11) % since you want to store the result of every element

1 Comment

Furat Alobaidy on 25 Oct 2019
thanks a lot for your help