blob: e628c1cf1fefcef09b2b3336c8b1852d49a80aea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include <stdio.h>
typedef unsigned long scalar;
scalar not(scalar x) {
return ~x;
}
scalar nand(scalar x, scalar y) {
return ~(x & y);
}
scalar nor(scalar x, scalar y) {
return ~(x | y);
}
scalar nxor(scalar x, scalar y) {
return ~(x ^ y);
}
scalar andn1(scalar x, scalar y) {
return ~x & y;
}
scalar andn2(scalar x, scalar y) {
return x & ~y;
}
scalar orn1(scalar x, scalar y) {
return ~x | y;
}
scalar orn2(scalar x, scalar y) {
return x | ~y;
}
scalar nandimm(scalar x) {
return ~x & 45;
}
scalar notnot(scalar x) {
return ~ ~ x;
}
int main() {
scalar x = 0xF4, y = 0x33;
printf("%X\n", nxor(x, y));
}
|