Befehl zum Auffüllen von Nullen an bestimmten Stellen in Binärzahlen?
Ich muss Nullen an bestimmten Stellen in Binärzahlen auffüllen. Durchlaufen der Array-Form einer Binärzahl wie zdec2bin(43)
und das Hinzufügen der Nullen und das Einstellen der Größe klingt nach einer Neuerfindung des Rades.
Wie füllt man in Matlab effizient Nullen mit Binärzahlen auf?
Looping
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
Das fühlt sich zu viel Neuerfindung an: Wie kann man im Grunde genommen 0 von xxxxYabcd nach xxxx0Yabcd bekommen, wobei xxxxYabcd eine Binärzahl ist?
Beispiel
Eingang
101011, (1,3,6)
Ausgabe
100100110
1x010x11x (zeigt die Position der Nullen mit x an, an der Nullen eingefügt wurden)