ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
026_Binarios.c File Reference
#include <stdio.h>
Include dependency graph for 026_Binarios.c:

Go to the source code of this file.

Macros

#define BIT(n)
#define BIT_GET(x, n)
#define BIT_SET(x, n)
#define BIT_CLEAR(x, n)
#define BIT_TOGGLE(x, n)
#define BIT_WRITE(x, n, v)

Functions

int main (int argc, char *argv[])

Macro Definition Documentation

◆ BIT

#define BIT ( n)
Value:
(1<<(n))

Definition at line 3 of file 026_Binarios.c.

◆ BIT_CLEAR

#define BIT_CLEAR ( x,
n )
Value:
((x) &= ~BIT(n))
#define BIT(n)
Definition 026_Binarios.c:3

Definition at line 6 of file 026_Binarios.c.

◆ BIT_GET

#define BIT_GET ( x,
n )
Value:
((x)&BIT(n))

Definition at line 4 of file 026_Binarios.c.

◆ BIT_SET

#define BIT_SET ( x,
n )
Value:
((x) |= BIT(n))

Definition at line 5 of file 026_Binarios.c.

◆ BIT_TOGGLE

#define BIT_TOGGLE ( x,
n )
Value:
((x) ^= BIT(n))

Definition at line 7 of file 026_Binarios.c.

◆ BIT_WRITE

#define BIT_WRITE ( x,
n,
v )
Value:
((v)?BIT_SET(x,n):BIT_CLEAR(x,n))
#define BIT_CLEAR(x, n)
Definition 026_Binarios.c:6
#define BIT_SET(x, n)
Definition 026_Binarios.c:5

Definition at line 8 of file 026_Binarios.c.

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 10 of file 026_Binarios.c.

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_WRITE(x, n, v)
Definition 026_Binarios.c:8