Как указано в других ответах, функция DEC2BIN является одним из вариантов, который необходимо решить для этой проблемы. Однако, как указывает этот другой вопрос SO , он может быть очень медленным вариантом при преобразовании большого числа значений.
Для более быстрого решения вы можете вместо этого использовать функцию BITGET следующим образом:
a = [1 2 3 4]; %# Your array of values
nBits = 8; %# The number of bits to get for each value
nValues = numel(a); %# The number of values in a
c = zeros(1,nValues*nBits); %# Initialize c to an array of zeroes
for iBit = 1:nBits %# Loop over the bits
c(iBit:nBits:end) = bitget(a,nBits-iBit+1); %# Get the bit values
end
Результатом c
будет массив нулей и единиц. Если вы хотите превратить это в символьную строку, вы можете использовать функцию CHAR следующим образом:
c = char(c+48);