Operadores a Bit / Soluciones del Capítulo 17
Visitors to VTC.com will be able to view all introductory videos for each training course.
Free Trial Members will gain access to first three chapters for each training course.
Full Access Members have full access to VTC.com’s entire library of video tutorials.
Learn More
Subtitles of the Movie
Estas son las soluciones a los ejercicios del capitulo 17. He realizado la mayoria de los cambios en los archivos "database.h" e "input.c". No he realizado ningun cambio en los archivosÉ "file.c", "main.c" o "utils.c", al menos con esta solucion. Usted pudo haberlos modificado dependiendo del diseno del proyecto. Primero veamos el archivo "database.h" donde tenemos los mayores cambios. Esta es la estructura de CDsÉ y observe que solo tenemos un campo "flags". Este es un conjunto de valores booleanos y ya no tenemos el campo "album". Aqui creamos los indicadores "cd_album" y "cd_comedy". He decidido preguntar en el segundo indicador si el CD es o no un album de comedia. Si no lo es, entonces sera un album musical. Estos contienen la operacion 1 "shift left" 0É para obtener 1 y 1 "shift left" 1 para obtener 2. Estos son bits individuales. Este es el "macro" para activar o desactivar los bits. Verificamos si la condicion es verdadera o falsa mediante el operador condicional. Si la condicion es verdadera, activamos el bit medianteÉ el operador "|=" con los operandos "f" o indicador y "b" o bit. Para desactivarloÉ escribimos "f &=" tilde "b" como vimos en el ejemplo de los empleados a excepcion de que aqui lo hacemos dentro de un "macro". Observe que es necesario incluir muchos parentesis. Tal vez ustedÉ no se ha excedido con los parentesis, pero sugiero que los incluyaÉ porque si va a reutilizar este codigo, lo cual es muy probableÉ porque es muy util, este debera funcionar bajo cualquier circunstancia. Este programa podria no funcionar siempre, asi que debemos incluir todos los parentesis. El segundo "macro" es mucho mas sencillo. Este verifica si el bit esta configurado en el campo "flags", en cuyo caso restituimos 1. De lo contrario restituimos 0. Es muy sencillo. Estos son todos los cambios del archivo "database.h". Veamos el archivo "input.c". No he realizado cambios muy complejos. Al final utilizamos el "macro". llamado "on_off" al cual le pasamos una condicion de la funcion "yesno" para que siempre obtengamos 1 o 0. Tambien le pasamos el campo "flags" que queremos modificar y el bit que queremos activar o desactivar. Tenemos el mismo proceso para los indicadores "cd_album" y "cd_comedy". Finalmente veamos el archivo "output.c" que incluso es mas sencillo. Aqui tenemos el "macro" llamado "is_on" al cual le pasamosÉ el campo "flags" y el indicador "cd_album". Este restituye un valor 1 o 0 y desplegaremos los siguientes detallesÉ dependiendo si el CD es un album o un sencillo. Esto es todo. No ejecutaremos el programa porque usted ya sabra que este funciona. Le aseguro que he verificado su funcionamiento. ÀComo le fue?
Tutorial Information
| Course: | C Programming (Español) |
| Author: | Mark Virtue |
| SKU: | 33759 |
| ISBN: | 1-933736-81-X |
| Release Date: | 2007-04-16 |
| Duration: | 21.5 hrs / 139 lessons |
| Captions: | Available on CD and Online University |
| Compatibility: |
Vista/XP/2000, OS X, Linux QuickTime 7, Flash 8 |
VTC Sign up & Benefits
- Unlimited Access
- 98,729 Video Tutorials (23,265 free)
- Video Available as Flash or QuickTime
- Over 1026 Courses
- $30 for One Month Access
- Multi-User Discounts Available
United States 