ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
026_Binarios.c
Go to the documentation of this file.
1#include <stdio.h>
2
3#define BIT(n) (1<<(n))
4#define BIT_GET(x,n) ((x)&BIT(n))
5#define BIT_SET(x,n) ((x) |= BIT(n))
6#define BIT_CLEAR(x,n) ((x) &= ~BIT(n))
7#define BIT_TOGGLE(x,n) ((x) ^= BIT(n))
8#define BIT_WRITE(x,n,v) ((v)?BIT_SET(x,n):BIT_CLEAR(x,n))
9
10int main(int argc, char *argv[])
11{
12 int i, n, nb;
13 int xi;
14 char x, xb;
15 printf("x = ");
16 scanf("%d", &xi);
17 x = (char)xi;
18 n = 8*sizeof(x);
19 for(i=n; i>0; i--)
20 printf("%d", BIT_GET(x,i-1)?1:0);
21 printf("\n");
22 do{
23 printf("Ingrese el numero de bit: ");
24 scanf("%d", &nb);
25 }while(nb<-1|nb>=n);
26 printf("%d\n", BIT_SET(x, nb));
27 do{
28 printf("Ingrese el numero de bit: ");
29 scanf("%d", &nb);
30 }while(nb<-1|nb>=n);
31 printf("%d\n", BIT_CLEAR(x, nb));
32 do{
33 printf("Ingrese el numero de bit: ");
34 scanf("%d", &nb);
35 }while(nb<-1|nb>=n);
36 printf("%d\n", BIT_TOGGLE(x, nb));
37 do{
38 printf("Ingrese el numero de bit: ");
39 scanf("%d", &nb);
40 }while(nb<-1|nb>=n);
41 printf("Ingrese el valor del bit: ");
42 scanf("%d", &xi);
43 xb = (char)xi;
44 printf("%d\n", BIT_WRITE(x, nb, xb));
45 return 0;
46}
#define BIT_TOGGLE(x, n)
Definition 026_Binarios.c:7
#define BIT_GET(x, n)
Definition 026_Binarios.c:4
#define BIT_CLEAR(x, n)
Definition 026_Binarios.c:6
#define BIT_WRITE(x, n, v)
Definition 026_Binarios.c:8
#define BIT_SET(x, n)
Definition 026_Binarios.c:5
int main(void)
Definition Ejemplo_035.c:15