Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como creo un arreglo de 10,000 de 0s y 1s bit en c

Estas en el tema de Como creo un arreglo de 10,000 de 0s y 1s bit en c en el foro de C/C++ en Foros del Web. Estoy emulando un disco duro ext2, :) , en la parte de mapa de bit que lo he pensado como su numbreo ( 0 1 ...
  #1 (permalink)  
Antiguo 11/06/2009, 01:35
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 14 años, 10 meses
Puntos: 0
Mensaje Como creo un arreglo de 10,000 de 0s y 1s bit en c

Estoy emulando un disco duro ext2, :) , en la parte de mapa de bit que lo he pensado como su numbreo ( 0 1 0 0 0 1 ) pero creo que podria tener al rededor de 10,000 0s y 1s, y tambien tendre que recorrer toda la combinacion para buscar los 0s o 1s dependiendo el caso... bueno ahora mi duda es:

como hago esto, si hay forma, o si alguien tiene otra ida que me pueda dar

muchas gracias

p.p.

esto lo voy a trabajar en memoria secundaria claro que en momento de recorrerlo y eso lo subo a memoria principal.. bueno esa es la idea...
  #2 (permalink)  
Antiguo 11/06/2009, 01:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como creo un arreglo de 10,000 de 0s y 1s bit en c

Podes usar 1250 bytes, un manera muy simple es esta:

Código:
unsigned char mapaDeBits[1250];
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 11/06/2009, 08:39
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como creo un arreglo de 10,000 de 0s y 1s bit en c

pero luego como los trabajo, porque no es un array de bits, osea no puedo poner mapaDeBits[1]='0'

gracias
  #4 (permalink)  
Antiguo 11/06/2009, 08:51
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como creo un arreglo de 10,000 de 0s y 1s bit en c

Si haces esa asignacion ('0' es 48) tendras en el segundo byte del array esto: 00110000.

Podes trabajar con or, and y not, por ejemplo si queres poner a 1 el segundo bit de un byte sin tocar lo demas haces:

mapaDeBits[1] |= 0x02;

y si lo queres poner a 0:
mapaDeBits[1] &= ~0x02;
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 11/06/2009, 10:37
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Como creo un arreglo de 10,000 de 0s y 1s bit en c

De hecho, aunque no lo creas, la idea que te da Eternal Idol se trata de un arreglo de bits acomodado en bytes.

Y efectivamente usando And y Or puedes ir poniendo "mascaras" para poder manipular los bits dentor de cada byte por separado.

Saludos
  #6 (permalink)  
Antiguo 11/06/2009, 10:47
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como creo un arreglo de 10,000 de 0s y 1s bit en c

Y es la unica forma que existe debido a que la minima unidad de memoria accesible es el byte.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:01.