ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo025.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
Include dependency graph for Ejemplo025.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)
#define ES_PAR(x)
#define N   50

Functions

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

Macro Definition Documentation

◆ BIT

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

Definition at line 5 of file Ejemplo025.c.

◆ BIT_CLEAR

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

Definition at line 8 of file Ejemplo025.c.

◆ BIT_GET

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

Definition at line 6 of file Ejemplo025.c.

◆ BIT_SET

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

Definition at line 7 of file Ejemplo025.c.

◆ BIT_TOGGLE

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

Definition at line 9 of file Ejemplo025.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 10 of file Ejemplo025.c.

◆ ES_PAR

#define ES_PAR ( x)
Value:
(!BIT_GET(x,0))
#define BIT_GET(x, n)
Definition 026_Binarios.c:4

Definition at line 11 of file Ejemplo025.c.

◆ N

#define N   50

Definition at line 12 of file Ejemplo025.c.

Function Documentation

◆ main()

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

Definition at line 14 of file Ejemplo025.c.

15{
16 char str[N], c, p, v;
17 int i, nc, cc, cb;
18 srand(time(NULL));
19 i = 0;
20 do{
21 c = getchar();
22 str[i] = c;
23 i++;
24 }while(c!=10&&i<(N-1));
25 nc = i-1;
26 str[nc] = '\0';
27 p = 0;
28 i = 0;
29 while(str[i]!='\0')
30 {
31 p^=str[i];
32 i++;
33 }
34 printf("%s (%d)\n", str, p);
35 cc = (rand()%nc);
36 cb = (rand()%8);
37 BIT_TOGGLE(str[cc],cb);
38 v = p;
39 i = 0;
40 while(str[i]!='\0')
41 {
42 v^=str[i];
43 i++;
44 }
45 printf("%s (%d, %d, %d)\n", str, v, cc, cb);
46 return 0;
47}
#define N
#define BIT_TOGGLE(x, n)
Definition Ejemplo025.c:9