ejercicios de manipulacion de bits

2
Ejercicios de Manejo de Bits 1 ) Haciendo uso de operadores a nivel de bits escriba una función y diga si un número entero es positivo o negativo 2) Usando operaciones de bits multiplica y divide por potencias de 2 3) Lea un entero y reporte el valor de los bits pares 4) Si desea codificar n posibles valores. Cuantos bits son necesarios? 5) Dada una variable tipo char muestre cada uno de sus bits 6) Se sabe que para convertir una letra minúscula en mayúscula se resta 32, es decir el 6to bit (2^5=32) está en 1, entonces debemos convertirlo a cero. Utilizando esta idea convierta una letra minúscula a otra en mayúscula. 7) Un artículo tiene numérico almacenado en 8 bits. Los 3 primeros indican la familia, los dos siguientes la subfamilia mientras que los 3 últimos indican un numero correlativo. Dado un número que representa el código diga cual es su familia, la subfamilia y el correlativo. 8) Dados dos bytes, coloque los 4 bits superiores del primer byte junto a los 4 bits inferiores del segundo byte, y los 4 bits inferiores del primer byte, junto a los 4 bits superiores del segundo byte. 9) En un unsigned char intercambie los 4 bits inferiores con los superiores 10) En un short intercambie los bits del primer byte con los del segundo 11) Escriba un programa que invierta el orden de los bits de un valor entero unsigned. El programa debe introducir el valor del usuario y llamar a la función invierteBits para imprimir los bits en orden inverso. Imprima el valor en bits, tanto antes como después de que los bits se inviertan, para confirmar que se invirtieron de manera correcta. 12) El operador de desplazamiento a la izquierda puede utilizarse para empacar dos valores de carácter en una variable entera unsigned. Escriba un programa que introduzca dos caracteres desde el teclado y que los pase a la función empacaCaracteres. Para empacar dos caracteres en una variable

Upload: marlei-alipio-de-la-cruz

Post on 24-Sep-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Manipulacion de bits

TRANSCRIPT

Ejercicios de Manejo de Bits1) Haciendo uso de operadores a nivel de bits escriba una funcin y diga si un nmero entero es positivo o negativo 2) Usando operaciones de bits multiplica y divide por potencias de 23) Lea un entero y reporte el valor de los bits pares4) Si desea codificar n posibles valores. Cuantos bits son necesarios?5) Dada una variable tipo char muestre cada uno de sus bits6) Se sabe que para convertir una letra minscula en mayscula se resta 32, es decir el 6to bit (2^5=32) est en 1, entonces debemos convertirlo a cero. Utilizando esta idea convierta una letra minscula a otra en mayscula.7) Un artculo tiene numrico almacenado en 8 bits. Los 3 primeros indican la familia, los dos siguientes la subfamilia mientras que los 3 ltimos indican un numero correlativo. Dado un nmero que representa el cdigo diga cual es su familia, la subfamilia y el correlativo.8) Dados dos bytes, coloque los 4 bits superiores del primer byte junto a los 4 bits inferiores del segundo byte, y los 4 bits inferiores del primer byte, junto a los 4 bits superiores del segundo byte.9) En un unsigned char intercambie los 4 bits inferiores con los superiores10) En un short intercambie los bits del primer byte con los del segundo11) Escriba un programa que invierta el orden de los bits de un valor entero unsigned. El programa debe introducir el valor del usuario y llamar a la funcin invierteBits para imprimir los bits en orden inverso. Imprima el valor en bits, tanto antes como despus de que los bits se inviertan, para confirmar que se invirtieron de manera correcta.12) El operador de desplazamiento a la izquierda puede utilizarse para empacar dos valores de carcter en una variable entera unsigned. Escriba un programa que introduzca dos caracteres desde el teclado y que los pase a la funcin empacaCaracteres. Para empacar dos caracteres en una variable entera unsigned, asigne el primer carcter a la variable unsigned, desplace 8 posiciones de bits hacia la izquierda la variable unsigned y combine la variable unsigned con el segundo carcter por medio del operador OR incluyente a nivel de bits. El programa debe arrojar los caracteres en su formato de bits, antes y despus de que se empaquen en la variable entera unsigned, para demostrar que los caracteres estn empacados correctamente en la variable unsigned.13) Por medio del operador de desplazamiento a la derecha, el operador a nivel de bits AND y una mscara, escriba una funcin empacaCaracteres que tome la variable entera unsigned del ejercicio 10.13, y que la desempaque en dos caracteres. Para desempacar dos caracteres de una variable entera unsigned, combine la variable unsigned con la mscara 65280 (00000000 00000000 11111111 00000000), y desplace 8 bits hacia la derecha al resultado. Asigne el valor resultante a una variable char. Despus combine la variable entera unsigned con la mscara 255 (00000000 00000000 00000000 11111111). Asigne el resultado a otra variable char. El programa debe imprimir la variable entera unsigned en bits, antes de que sea desempacada, y despus debe imprimir los caracteres en bits para confirmar que se desempacaron correctamente.