how can select a specific bits from logical vectors !

2 次查看(过去 30 天)
Hi , i need your help please ,
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;
[~,~,dat]= xlsread('address.xlsx');
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
Divya Gaddipati 2019-10-23
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by