hexadecimal value with zeros but without spaces.

Hi,
I have an algorithm which is generating outputs in hexadeciaml formats. Its a loop with with different hexadecimal values after every iteration. My ultimate purpose is to ocnvert these hexa deciamal values into binaries and combine all those values as one binary string. Now the problem is that I get "ee 06 da 7b " hexa decimal values like this, and in order to its conversionin binary I have to remove these spaces in between but, as I try to remove the spaces, leading zeros are also removed. That part which is performing these conversions and some output is also added as an image. I will be greatful if you can help, as i ahve already tried so many methods available on internet.
% to get hexa decimal value and save it to variable str
str = sprintf(' %2x', w(i, :));
% to remove spaces in between
str= str(~isspace(str))
%hex to binary conversion
str=reshape(str,[],2);
str(all(str == ' ', 2), :) = [];
str=hex2dec(str);
disp(str);
% str = strrep(str, ' ', '')
disp(class(str));
% str = strtrim( str);
% disp(str);
str=dec2bin(str,4);

 채택된 답변

Walter Roberson
Walter Roberson 2020년 12월 8일
w = [0x97 0x06 0x0a 0x04]
w = 1×4
151 6 10 4
i = 1;
reshape(dec2bin(w(i,:), 8).', [], 1).'
ans = '10010111000001100000101000000100'

댓글 수: 4

I have one more thing. I have an excel file from where my loop will take 128 bit binary string and i have to convert them in hex, somewhat like this (in case all binary values are 0)
"key_hex = {'00' '00' '00' '00' '00' '00' '00' '00' ...
'00' '00' '00' '00' '00' '00' '00' '00'};"
Assuming the bit vector is character '0' and '1' then:
key_hex = cellstr(dec2hex(bin2dec(reshape(bit_vector, 8, []).'),2)).'
after all these conversions i am getting my data like this as a cell
'00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00'
now I have to convert this data into vector. i am getting these two errors now.
  1. 'Key has to be a vector (not a cell array) with 16 elements.'
  2. Elements of key vector have to be bytes (0 <= key(i) <= 255).
can you help me convert my data into vector . I have already tried cell2mat
key_bytes = uint8(bin2dec(reshape(bit_vector, 8, [])).';

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

태그

질문:

2020년 12월 8일

댓글:

2020년 12월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by