elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Enteros con ceros al inicio AYUDA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enteros con ceros al inicio AYUDA  (Leído 1,752 veces)
cesarjgrd.18

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Enteros con ceros al inicio AYUDA
« en: 6 Noviembre 2011, 18:49 pm »

Buenas! En esta oportunidad tengo una duda sobre los enteros con ceros al inicio

El caso es que tengo que decodificar una etiqueta compuesta con numero binarios, pero cuando el código empieza por cero no me los toma en cuenta sino hasta el primer 1... como hago para que tome en cuenta los ceros iniciales?

Gracias!


En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: Enteros con ceros al inicio AYUDA
« Respuesta #1 en: 6 Noviembre 2011, 19:44 pm »

Puedes intentar tomarlo como char o un string todo y lo vas recorriendo


En línea

Don Pollo

Desconectado Desconectado

Mensajes: 74

/* No comments */


Ver Perfil
Re: Enteros con ceros al inicio AYUDA
« Respuesta #2 en: 7 Noviembre 2011, 00:04 am »

En vez de tomarlo como un entero, puedes tomarlo como una cadena de caracteres.
En línea

cesarjgrd.18

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Enteros con ceros al inicio AYUDA
« Respuesta #3 en: 7 Noviembre 2011, 00:22 am »

Me explicare mejor a ver! imagina que tengo un código de 6 números binarios donde los primeros 3 son para identificar a la persona y los últimos 3 para identificar el lugar... 000 es Juan y 001 es Pedro... 000 es casa y 001 es colegio... previamente generado el código lo tengo que decodificar! entonces al pedir el código generado ej. 000001 el programa me tiene que decir Persona Juan Lugar Colegio!

Entonces al declararlo como string podre separar los números? de forma tal que los pueda comparar con los lugares y las personas?
En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Enteros con ceros al inicio AYUDA
« Respuesta #4 en: 7 Noviembre 2011, 00:40 am »

Buenas! En esta oportunidad tengo una duda sobre los enteros con ceros al inicio

El caso es que tengo que decodificar una etiqueta compuesta con numero binarios, pero cuando el código empieza por cero no me los toma en cuenta sino hasta el primer 1... como hago para que tome en cuenta los ceros iniciales?

Gracias!

cuanta los numeros y has una diferenciacion de longitudes asi determinas enq ue posicion esta ese 1

tambien puedes ir almacenando cada numero de esta manera.

Supongamos que tu etiqueta sond e 32 numeros (0 y 1)

entonces:

supongamos este numero.

100010000100001001010110101100

como ves no son 32 numeros los 0 mas significativos no se escriben pero como empiesas tu de la izquierda  a la derecha harias algo asi:

Código
  1.  
  2. entero iCode = 0
  3. mientras no lleguemos al final
  4.    iCode = (iCode << 1) | (getBit() mascara con bit 1); // Dezplazmos los bits de iCode a la izquierda y hacemos una operacion OR  es decir:
  5.  
  6.  

es decir obtienes

100010000100001001010110101100

y lo agregas desplazando los anteriores bits a la izquierda. (<<=)

es decir:
leyendo: 100010000100001001010110101100

INT    |   en Bits
iCode = 0000000000000000000000000000000
iCode <<= iCode | getBit();
iCode = 0000000000000000000000000000001
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000010
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000100
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000001000
...
iCode <<= iCode | getBit();
iCode = 00100010000100001001010110101100
Termino...

como ves se hace un while()...

Código
  1.  
  2. int iCode = 0;
  3. while(!getEndBit()) {
  4.    iCode = (iCode << 1) | (getBit() & 0x1);
  5. }
  6.  
  7.  

Dulces Lunas!¡.
« Última modificación: 7 Noviembre 2011, 02:19 am por BlackZeroX (Astaroth) » En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
cesarjgrd.18

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Enteros con ceros al inicio AYUDA
« Respuesta #5 en: 7 Noviembre 2011, 01:11 am »

cuanta los numeros y has una diferenciacion de longitudes asi determinas enq ue posicion esta ese 1

tambien puedes ir almacenando cada numero de esta manera.

Supongamos que tu etiqueta sond e 32 numeros (0 y 1)

entonces:

supongamos este numero.

100010000100001001010110101100

como ves no son 32 numeros los 0 mas significativos no se escriben pero como empiesas tu de la izquierda  a la derecha harias algo asi:

Código
  1.  
  2. entero iCode = 0
  3. mientras no lleguemos al final
  4.    iCode <<= iCode | getBit(); // Dezplazmos los bits de iCode a la izquierda y hacemos una operacion OR  es decir:
  5.  
  6.  

es decir obtienes

100010000100001001010110101100

y lo agregas desplazando los anteriores bits a la izquierda. (<<=)

es decir:
leyendo: 100010000100001001010110101100

INT    |   en Bits
iCode = 0000000000000000000000000000000
iCode <<= iCode | getBit();
iCode = 0000000000000000000000000000001
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000010
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000100
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000001000
...
iCode <<= iCode | getBit();
iCode = 00100010000100001001010110101100
Termino...

como ves se hace un while()...

Código
  1.  
  2. int iCode = 0;
  3. while(!getEndBit()) {
  4.    iCode <<= iCode | getBit();
  5. }
  6.  
  7.  

Dulces Lunas!¡.

Hola BlackZeroX.. Gracias por esa! Pero debo admitir que no entendí nada! Se que lo explicaste como para tontos pero aun asi no lo entendi! Si puedes echarme una mano gracias!
En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Enteros con ceros al inicio AYUDA
« Respuesta #6 en: 7 Noviembre 2011, 02:17 am »


Código
  1.  
  2. int iCode = 0;
  3. while(!getEndBit()) {
  4.    iCode <<= iCode | getBit();
  5. }
  6.  
  7.  

Dulces Lunas!¡.

me equivoque es asi:

Código
  1.  
  2. int iCode = 0;
  3. while(!getEndBit()) {
  4.    iCode = ((iCode << 1) | (getBit() & 0x1));
  5. }
  6.  
  7.  
En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[DUDA] Contador con ceros a la izquierda
Programación Visual Basic
HJZR4 6 2,773 Último mensaje 20 Octubre 2008, 21:18 pm
por ssccaann43 ©
IMPORTANTE: sequencia de unos i ceros
Electrónica
oskar^^ 1 2,196 Último mensaje 11 Enero 2009, 21:50 pm
por skapunky
Donde estan los ceros? o.O
Programación Visual Basic
extreme69 8 2,274 Último mensaje 1 Noviembre 2011, 05:00 am
por extreme69
Mostrar ceros a la izquierda en un entero en C++ « 1 2 »
Programación C/C++
erest0r 19 16,272 Último mensaje 6 Septiembre 2013, 15:23 pm
por Eternal Idol
[C] Ayuda: introducir enteros y devolverlos como puntero
Programación C/C++
andie13 4 1,202 Último mensaje 27 Noviembre 2016, 00:20 am
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines