Команда для заполнения нулей в определенных местах в двоичных числах?

Мне нужно дополнить нулями определенные места в двоичных числах. Зацикливание формы массива двоичного числа, такого какdec2bin(43) и добавление нулей и регулировка размера звучит переизобретением колеса.

Как эффективно заполнить нули двоичными числами в Matlab?

перекручивание

positions=[1,3,6];
x=de2bi(43);
xx=flip(x);    

kk=1;
for ii=1:length(x)+length(positions)
    if isequal(positions(kk),xx(ii))
         %Transfer the tail from ii by one index ahead,
         %left out here because I think my method is bad!
         x(ii)=0;
         positions=positions+1;  %Increase positions by one now due to one padding
         kk=kk+1;
    end
end

который слишком переосмысливает: в основном, как получить 0 прямо перед Y, как от xxxxYabcd до xxxx0Yabcd, где xxxxYabcd - двоичное число?

пример

вход

101011, (1,3,6)

Выход

100100110

1x010x11x (показывает расположение нулей, более четких с x, где вставлены нули)

Ответы на вопрос(5)

Ваш ответ на вопрос