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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Máscaras y bloques de bits
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Máscaras y bloques de bits  (Leído 2,813 veces)
loryisus

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Máscaras y bloques de bits
« en: 6 Marzo 2014, 18:52 pm »

Buenas, tengo un problema con la asignatura de Algoritmos y Estructura de Datos, les paso uno de los ejercicios que me piden:
- El primero inserta un único elemento dentro del conjunto. Para ello
Se debe crear un bloque auxiliar conteniendo la máscara ONE_MASK y
hacer un desplazamiento de bits a la izquierda tantas veces como
indique el elemento a insertar. Después se efectuará el or lógico con
el conjunto llamante.


El bloque viene declarado así debajo de "using namespace std", el resto de elementos al igual que la función a desarrollar se encuentra en una clase:
(la máscara representa el bit menos significativo a 1)
Código:
#include <iostream>
using namespace std;
typedef unsigned long block_t; /*aquí*/
typedef unsigned char item_t;
typedef unsigned char block_size_t;
#define EMPTY_SET_MASK 0x00
#define ONE_MASK 0x01 /*Mascara que mencionan en el enunciado*/
class bit_set {
/*ATRIBUTOS PRIVADOS*/
block_t block_; /*Bloque de bits*/
block_size_t block_size_;

En la función que piden realizar se pasan los siguientes datos:
Código:
void set_union(item_t i);

Si necesitan más datos o no me he explicado bien diganmelo.

Gracias por adelantado.




En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Máscaras y bloques de bits
« Respuesta #1 en: 6 Marzo 2014, 18:55 pm »

Te olvidaste de decir cuál es el problema.


En línea

loryisus

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Máscaras y bloques de bits
« Respuesta #2 en: 6 Marzo 2014, 22:08 pm »

Te olvidaste de decir cuál es el problema.
Es el que puse arriba en negrita, pero principalmente el problema es que no se a que se refiere exactamente con bloque auxiliar (¿Quizas declarar otro como: block_t nuevo = block_ dentro de la funcion), y tampoco se como introducir una mascara dentro de un bloque de bits.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Máscaras y bloques de bits
« Respuesta #3 en: 6 Marzo 2014, 22:19 pm »

En verdad no se muy bien qué tienes que hacer. Pero si te ayuda, te dejo algo:

Código
  1. /** 0b significa valor en binario **/
  2. int var = 2; //0b10
  3. var << 1; //0b100   Se ha desplazado 1 posición (izquierda)
  4. var << 3; //0b100000   Se ha desplazado 3 posiciones (izquierda)
  5. var >> 5; //0b1   Se ha desplazado 5 posiciones (derecha)

Esos son los desplazamientos.

Como dije, ni idea de lo que estáis dando, ¿en clase?

Suerte.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Máscaras y bloques de bits
« Respuesta #4 en: 7 Marzo 2014, 08:06 am »

En verdad no se muy bien qué tienes que hacer. Pero si te ayuda, te dejo algo:

Código
  1. /** 0b significa valor en binario **/
  2. int var = 2; //0b10
  3. var << 1; //0b100   Se ha desplazado 1 posición (izquierda)
  4. var << 3; //0b100000   Se ha desplazado 3 posiciones (izquierda)
  5. var >> 5; //0b1   Se ha desplazado 5 posiciones (derecha)

Esos son los desplazamientos.

Como dije, ni idea de lo que estáis dando, ¿en clase?

Suerte.

Más bien sería...

Código
  1. /** 0b significa valor en binario **/
  2. int var = 2; //0b10
  3. int var2 = var << 1; //0b100 Se ha desplazado 1 posición (izquierda)
  4. var2 = var << 3; //0b100000 Se ha desplazado 3 posiciones (izquierda)
  5. var2 = var >> 5; //0b1 Se ha desplazado 5 posiciones (derecha)

Al hacer un desplazamiento el valor no se guarda por defecto en la variable desplazada.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Máscaras y bloques de bits
« Respuesta #5 en: 7 Marzo 2014, 15:21 pm »

Al hacer un desplazamiento el valor no se guarda por defecto en la variable desplazada.

No dije que se guardase. Lo pondré de otra forma:

Código
  1. /* ... */var << 1 == 0b100;

En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Máscaras y bloques de bits
« Respuesta #6 en: 7 Marzo 2014, 20:16 pm »

No dije que se guardase. Lo pondré de otra forma:

Código
  1. /* ... */var << 1 == 0b100;



ok. Solo lo puse por si acaso ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear máscaras Win Media Player
Diseño Gráfico
alfafa 0 1,664 Último mensaje 17 Marzo 2005, 06:19 am
por alfafa
mascaras en flash no funcionan
Diseño Gráfico
chochito_alegre 2 1,995 Último mensaje 12 Octubre 2005, 05:02 am
por Morris
Bloques
Scripting
Herzius 2 2,857 Último mensaje 22 Enero 2008, 23:35 pm
por ~[uNd3rc0d3]~
operaciones con direcciones,hosts y mascaras
Redes
m@o_614 1 2,223 Último mensaje 23 Mayo 2013, 22:00 pm
por engel lex
ayuda con operaciones a nivel de bits y mascaras
Programación C/C++
redpeli20 6 3,098 Último mensaje 2 Junio 2015, 11:17 am
por Peregring-lk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines