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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


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

Desconectado Desconectado

Mensajes: 9


Ver Perfil
BITS
« en: 6 Enero 2017, 03:52 am »

Hola ! estoy revisando informacion con respecto a programacion basica a nivel de bits y me parece curioso el bitwise complement, pero queria saber si es que definiendo un int a = 3 y un int b = 4 puedo sumar estos sin usar el operador +, ya que debido al procesador es que pierde la importancia pero si fuera un procesador muy antiguo talvez la optimizacion seria importante. tengo poco conocimiento con el apagar y prender bites como con la negacion y pense que con un and o un xor podria realizar esas operaciones. me podria explicar alguien ? si se que en internet hay informacion pero es un poco mas directa, nose si me dejo entender


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: BITS
« Respuesta #1 en: 6 Enero 2017, 14:35 pm »

Un 3 y un 4 sí, se pueden sumar con el operador OR. Pero no todos lso números pueden. 3 y 4 sí, porque no hay bits repetidos:
Código:
3:   0011
4:   0100
3+4: 0111

Sin embargo, 3+2:
Código:
3:     0011
2:     0010
3+2 != 0011 (3)

Y sobre información sobre estas operaciones, pues lo que puedas encontrar por ahí tanto sobre puertas lógicas en electrónica como de operadores a nivel de bit. Lo único, que en programación, estos operadores afectan a cada uno de los bits (una puerta lógica generalmente acepta solo 2 bits, así que los operadores hacen esta puerta en cada uno de lso bits).


En línea

francosmp

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: BITS
« Respuesta #2 en: 6 Enero 2017, 20:38 pm »

gracias ivancea96, pero sabes de alguna forma de sumar cualquier tipo de numero sin usar el operador + ? o tendria q comunicarme al estilo de compuertas logicas con el procesador ? gracias
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: BITS
« Respuesta #3 en: 6 Enero 2017, 21:56 pm »

Puedes hacerlo manualmente con puertas lógicas. Pero tendrías que ir bit a bit. Será mucho menos eficiente, eso sin duda.
Sobre cómo sumar con puertas lógicas, es algo más dado a la electrónica: http://www.electronica.com.es/content/25-sumadores-binarios
No es solo una operación. Hay que hacer varias cosas. Todo eso y más es lo que hace el procesador ejecuta una instrucción de sumar.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: BITS
« Respuesta #4 en: 7 Enero 2017, 01:02 am »

Como dice ivancea96 hacerlo 'a mano' es ineficiente. El procesador con una sola instrucción lo hace.

Verás:
Nomenclatura:
· Bit entrada 1 -> A
· Bit entrada 2 -> B
· Bit entrada acarreo -> C
· Función bit salida -> Fb
· Función bit acarreo -> Fc

Un sumador completo consta de las entradas y salidas anteriores. Y como vemos funciona por bits. Las ecuaciones son las siguientes:
· Fb = A xor B xor C
· Fc = A and B or A and C or B and C

Por cada bit del resultado se utilizan las funciones anteriores.
Las operaciones se realizan desde el bit de menor peso al bit de mayor peso.
El acarreo del bit de menor peso es 0.
Los acarreos de los posteriores bits son la función bit acarreo (Fc) del inmediatamente anterior.
La bandera Carry del procesador es el Fc del último bit del registro.

En línea

francosmp

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: BITS
« Respuesta #5 en: 17 Enero 2017, 02:02 am »

Gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines