Cómo utilizar el modo bit | operador en la programación c

Usted ya está familiarizado con los operadores lógicos de programación C de toma de decisiones: para AND y || para OR. en el evaluación, tanto de los artículos debe ser cierto para la declaración a ser evaluado como cierto- para el || evaluación, sólo uno de los elementos debe ser verdad.

A nivel atómico, los operadores y | realizar operaciones similares, pero sobre una base bit a bit. El efecto neto es que se puede utilizar la y | operadores para manipular bits individuales:

El | es el operador binario OR, también conocido como el OR inclusivo.

los es el operador AND.

El Set O demuestra cómo utilizar el operador binario OR para definir bits en un byte. El valor O se define como el conjunto constante en la Línea 2. Es binario 00100000.

EL O SET

#include #define SET 32char * Binbin (int n) -INT main () int bor, resultado-printf ("Escriba un valor entre 0 y 255:") -scanf ("% d", bor) -resultado = bor carbón * Binbin (int n) {bin static char [9] -INT x-for (x = 0-xlt; 8-x ++) {bin [x] = n 0x80? '1': '0'-n lt; lt; = 1-} bin [x] = ' 0' de retención (bin) -}

Línea 12 calcula el OR bit a bit operación entre una entrada de valor, bor, y la constante SET. El resultado se muestra en tres columnas: operador, cadena binaria, y el valor decimal. El resultado final de la operación es que los bits puestos a 1 en el valor SET también se ponen a 1 en el valor bor.

Ejercicio 1: Escriba el código fuente desde el set o en su editor para crear un nuevo programa. Construir y ejecutar el programa.

Aquí está la salida para el valor 65:

Escriba un valor de 0 a 255: 6501000001 65 | 00100000 32 01100001 97 =

Se puede ver en la salida binaria cómo el sexto bit se establece en el resultado.

¿Que significa eso?

Esto significa que usted puede manipular los valores a nivel binario, que tiene consecuencias interesantes para ciertas operaciones matemáticas, como se muestra en con ese texto.

CON QUE EL TEXTO

# include () {entrada de carbón principal int [64] -INT ch-int x = 0-printf ("Escriba en mayúsculas:") -fgets (entrada, 63, stdin) -mientras (entrada [x] = '! n ') de 32 putchar (ch) -x ++ - putchar (' n ') - retorno (0) -}

Ejercicio 2: Inicie un nuevo proyecto mediante el código fuente se muestra en con ese texto. Genere y ejecute.

Debido a la forma en que los códigos ASCII mapa entre caracteres en mayúsculas y minúsculas, puede cambiar el caso, simplemente definiendo el sexto bit en un byte.




» » » » Cómo utilizar el modo bit | operador en la programación c