Sólo bucle sobre todos los números enteros en [0,2^n)
, y imprimir el número en formato binario Si siempre quiere tener n
dígitos (por ejemplo, insertar ceros a la izquierda), este sería el resultado:.
for ii=0:2^n-1,
fprintf('%0*s\n', n, dec2bin(ii));
end
Editar: hay un número de maneras de poner los resultados en una matriz . Lo más fácil es utilizar
x = dec2bin(0:2^n-1);
que producirá una matriz n
-by- 2^n
de tipo char
. Cada fila es una de las cadenas de bits.
Si realmente desea almacenar cadenas en cada fila, se puede hacer esto:
x = cell(1, 2^n);
for ii=0:2^n-1,
x{ii} = dec2bin(ii);
end
Sin embargo, si usted está buscando un procesamiento eficiente, se debe recordar que los números enteros ya están almacenados en la memoria en el sistema binario ! Por lo tanto, el vector:
x = 0 : 2^n-1;
Contiene los patrones binarios de la forma más eficiente en cuanto a eficiencia de memoria y CPU posible. El único inconveniente es que no podrá representar patrones con más de 32 de 64 bits utilizando esta representación compacta.
puede utilizar contador de bits –