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)  •  607 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 -

...

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