ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programando En C A Bajo Nivel


Enviado por   •  26 de Julio de 2012  •  2.717 Palabras (11 Páginas)  •  646 Visitas

Página 1 de 11

Universidad de Buenos Aires

Facultad De Ingeniera

Programando en C a Bajo Nivel

[75.40] Algoritmos y Programacion I

1er Cuatrimestre 2011

Catedra: Ing. Pablo Guarna

Autor: Bernardo Ortega Moncada

Version 3.0

Programando en C a Bajo Nivel 1er Cuatrimestre 2011

Indice

1. Introduccion 2

2. Representacion de Numeros en Base Binaria 2

2.1. Complementos A1 de un Numero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3. Sentencias Bit a Bit en C 2

3.1. Operacion AND (Bit a Bit) (&) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.2. Operacion OR (Bit a Bit) (j) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.3. Operacion XOR (bit a bit) ( ^ ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.4. Operacion Complemento A1 a la Base (  ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.5. Desplazamiento de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.5.1. Desplazamiento de Bits a la Derecha ( >> ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.5.2. Desplazamiento de Bits a la Izquierda ( << ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.6. Operador Ternario (? :) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.6.1. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.7. Campos de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.7.1. Limitaciones de Campos de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.8. Ventajas y Desventajas de Operar Bit a Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4. El Preprocesador de C 10

4.1. >Que Es Un Macro? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2. Ejemplos de Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.1. Inclusion de Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.2. Creacion de Archivos de Cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.3. Creacion de Macros como Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.4. Creacion de Macros como Funcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.3. Otras Directivas del Preprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.1. #undef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.2. #if , #else , #elif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.3. #error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.4. Ventajas y Desventajas de Usar Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Autor: Bernardo Ortega Moncada 1

Programando en C a Bajo Nivel 1er Cuatrimestre 2011

1. Introduccion

Este apunte esta orientado para que el lector pueda apreciar como uno puede trabajar en el lenguaje de programacion

C con sentencias de Bajo Nivel y utilizar herramientas que pueden ser utiles a la hora de programar sentencias que podran

simpli car lineas operando a bajo nivel. Este apunte es de caracter informativo, no signi ca que lo vayan a usar en esta

materia, pero quizas en alguna posterior. Esta demas aclarar que para leer este apunte se necesita un conocimiento basico

previo del Lenguaje. Todas estas operaciones que se muestran en el apunte, tambien son validas en el Lenguaje C++

2. Representacion de Numeros en Base Binaria

Como uno ya sabe, los numeros en la computadora no se expresan de la misma forma que un ser humano escribe. Ya

que la computadora trabaja de forma binaria y solo puede comprender si algo es verdadero o falso, si hay informacion o

no, por lo tanto si uno esta trabajando con numeros que ocupan 1 Byte, uno sabe que 1 Byte esta compuesto por 8 bits,

lo cual un bit solo puede almacenar 1 o 0.

Por lo tanto si nosotros a modo de ejemplo tenemos el numero, la computadora ve a este numero de la siguiente manera:

Representacion Decimal Representacion Binaria en 8 bits

0j10 = 00000000j2

2j10 = 00000010j2

7j10 = 00000111j2

25j10 = 00011001j2

255j10 = 11111111j2

Pero tenemos que saber que un numero representado en binario posee 2 bits muy importantes. El bit mas Signi -

cativo (MSB, por sus siglas en ingles) y El Bit Menos Signi cativo (LSB, por sus siglas en ingles).

Una observacion a tener en cuenta es que el MSB tambien es considerado Bit de Signo, siempre y cuando se use la

representacion MyBS (Modulo y Bit de Signo).

se considera al 1 como el signo negativo

se considera al 0 como el signo positivo

Por ejemplo, tenemos un numero representado en su forma binaria, podemos apreciar cuales son los bits signi cativos:

1 0 0 1 0 1 0 1

" "

MSB LSB

2.1. Complementos A1 de un Numero

El complemento A1 de un numero representado en forma binaria, consiste en negar (o invertir) bit a bit la expresion

del numero, en lineas generales consiste en cambiar los 0's por 1's y viceversa. Esta herramienta es muy poderosa en

el ambito de la computacion ya que nos permite representar un numero de forma negativa, ya que como sabemos, la

computadora no reconoce los numeros negativos. Veamos el siguiente ejemplo de como calcular el complemento A1 a la

base de un numero binario cualquiera:

01100100 ) |1001{z1011}

Complemento A1

3. Sentencias Bit a Bit en C

Uno puede hacer una serie de operaciones

...

Descargar como (para miembros actualizados) txt (11 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com