Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#2561
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 18:38 PM
Pon el fragmento de código, entre las etiquetas GeSHi, para que lo vea.
#2562
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 18:14 PM
Pues b.bit7.

En cualquier caso, no te recomendaría usar esa union. Si quieres poner a 1 un bit, basta hacer:

num = num | 0b00000001;

En ese ejemplo, si num es un char, 8 bits, le pondría el primer bit a 1.

Aplica operaciones binarias a nivel de bit: AND &, OR |, XOR ^.
#2563
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 18:06 PM
El código que posteé ahí ha de imprimir 4. Imprime 8 si empiezas a numerar los bits desde 0.
#2564
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 18:00 PM
#include <stdio.h>

typedef struct TreintaydosBits {
    unsigned bit1 : 1;
    unsigned bit2 : 1;
    unsigned bit3 : 1;
    unsigned bit4 : 1;
    unsigned bit5 : 1;
    unsigned bit6 : 1;
    unsigned bit7 : 1;
    unsigned bit8 : 1;
    unsigned bit9 : 1;
    unsigned bit10: 1;
    unsigned bit11: 1;
    unsigned bit12: 1;
    unsigned bit13: 1;
    unsigned bit14: 1;
    unsigned bit15: 1;
    unsigned bit16: 1;
} TreintaydosBits;

typedef union CuatroBytes {
    short n;
    TreintaydosBits b;
} CuatroBytes;

int main(){
    CuatroBytes cb;
    cb.n=0;
    cb.b.bit3 = 1;
    printf("%d",cb.n);
}


Eso es correcto.
#2565
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 17:55 PM
pixel.b.bit2=1;
#2566
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 17:46 PM
No entiendo. Si n está inicializado a 0, hacer "pixel.b.bit2 = 0;" no hará nada.
#2567
Programación C/C++ / Re: Modificar valor
6 Marzo 2015, 17:35 PM
Esa estructura TreintaydosBits principalmente solo tiene 2 bits eh?

No entendí muy bien. Inicializaste n?
#2568
Con serializarlo, me refiero a serializarlo tú:

Código (cpp) [Seleccionar]
ofstream out = /*...*/;
vector<string> v = /*...*/;
size_t tam = v.size();
out.write((char*)&tam, sizeof(tam));
for(string& s:v){
    tam = s.size();
    out.write((char*)&tam, sizeof(tam));
    out.write(s.c_str(), tam);
}


Vector:
<NUM_STRINGS><string1><string2><...>

Y luego cada string:
<NUM_CHARS><chars_array>
#2569
Para guardar un vector en un archivo, serializalo. Conviertelo a una cadena de caracteres, con el formato que prefieras.
Luego, claro está, tendrás que hacer un método para deserializarlo, transformando la cadena, en un vector.

EDITO:
Si solo quieres guardar los datos en el archivo sin más, haz un ciclo por cada dato del vector, y lo pasas al archivo.
#2570
Para saber cuantas veces hay cada número, puedes hacer un arreglo de 10 elementos (cada uno sería el número de su índice, Ej. "arr(4) <- 2": el número 4 se repite 2 veces)

Para ello:

Inicializar array   -   No se si ese lenguaje lo hace automáticamente, así que lo pongo por si acaso
Dimension arr(10)
Para t<-1 Hasta 10 Hacer
   arr(t)<-0
FinPara


Contar numeros
Para t<-1 Hasta 10 Hacer
   arr( valores(t) ) <- arr( valores(t) ) + 1
FinPara


Al final, puedes recorrer "arr": Si es 0, no apareció ninguna vez. Si es >0, apareció X veces.


Cabe decir que no sé ese lenguaje, la sintaxis que puse es la que deduje de tu código xD