1 bool IsGreaterThan10(int value)
3 PrintLn("IsGreaterThan10!");
7 class OperatorsApp : Application
11 PrintLn(" *** Question 4 *** ");
17 PrintLn(" *** Question 6 *** ");
19 int result = 5 + 3 * 4;
22 PrintLn(" *** Question 7 *** ");
24 int result = (5 + 3) * 4;
27 PrintLn(" *** Question 8 *** ");
32 PrintLn(" *** Question 9 *** ");
37 PrintLn(" *** Question 10 *** ");
39 float result = 17 / 4.0f;
43 PrintLn(" *** Question 13 *** ");
46 int result = a++ * 4 - --b / 6;
49 PrintLn(" *** Question 19 *** ");
55 PrintLn(" *** Question 20 *** ");
61 PrintLn(" *** Question 21 *** ");
65 PrintLn("a = ", a, ", b = ", b);
67 PrintLn(" *** Question 25 *** ");
69 int a = 7, b = 9, c = 0;
70 PrintLn("a) ", a > 2 && a < 8);
71 PrintLn("b) ", a < 6 || b > 8);
72 PrintLn("c) ", a >= 7 && b < 10);
73 PrintLn("d) ", a && b && c);
74 PrintLn("e) ", a || c);
76 PrintLn("g) ", !b || !c);
78 PrintLn("i) ", !(a > 5 && b == 9));
79 PrintLn("j) ", (c = 5) || (a = 0));
80 // We need to reset c because j) modified it
82 PrintLn("k) ", !(c > 7 || b <= 9) && !c);
84 PrintLn(" *** Question 26 *** ");
86 int a = 3, b = 8, c = 9;
87 PrintLn(a >= 3 || b < 8 && c != 9);
89 PrintLn(" *** Question 28 *** ");
91 int a = 7, b = 11, c = 17;
92 PrintLn("a) ", a > 6 && IsGreaterThan10(b), ", a = ", a);
93 PrintLn("b) ", IsGreaterThan10(a) && (a = 12), ", a = ", a);
95 PrintLn("c) ", (a = 12) && IsGreaterThan10(a), ", a = ", a);
97 PrintLn("d) ", (a = 0) && IsGreaterThan10(a), ", a = ", a);
99 PrintLn("e) ", (c == 12) || IsGreaterThan10(b), ", a = ", a);
100 PrintLn("f) ", (b > 8 && a < 4) || IsGreaterThan10(c), ", a = ", a);
101 PrintLn("g) ", (c < 16 || b % 2) && IsGreaterThan10(a), ", a = ", a);
102 PrintLn("h) ", c - b < a && (a = 12) && IsGreaterThan10(a), ", a = ", a);
104 PrintLn("i) ", (c > 15 && (b = 7)) || IsGreaterThan10(b) || (a = 5), ", a = ", a);
106 PrintLn("j) ", b = (a = (c = 12) + (a = 12) + IsGreaterThan10(b) * 12), ", a = ", a);
109 PrintLn(" *** Question 29 *** ");
111 byte a = 0x5B, b = 0x83;
113 // Print/PrintLn are missing a nice way to display in hexadecimal, so we're using printf for that purpose
114 printf("a) 0x%02X\n", a & b);
115 printf("b) 0x%02X\n", a | b);
116 printf("c) 0x%02X\n", a ^ b);
118 // There is an eC compiler bug (mantis #108) that prevents a simple cast from working here:
119 // printf(" 0x%02X\n", (byte)~a); // This works in C and should work in eC once the bug is fixed.
121 printf("d) 0x%02X\n", result);
123 printf("e) 0x%02X\n", (a & b) ^ b);
124 printf("f) 0x%02X\n", a ^ a);
125 printf("g) 0x%02X\n", a << 1);
126 printf("h) 0x%02X\n", b >> 5);
127 printf("i) 0x%02X\n", (a & 0x10) >> 4);
128 PrintLn("j) ", (b & 0x0F) == 3);
131 PrintLn(" *** Question 31 *** ");
135 printf(" 0x%02X\n", a);
137 PrintLn(" *** Question 32 *** ");
139 byte a = 0x25, b = 0x37;
142 printf("a = 0x%02X, b = 0x%02X\n", a, b);
144 PrintLn(" *** Question 33 *** ");
146 byte a = 0x25, b = 0x37;
149 printf("a = 0x%02X, b = 0x%02X\n", a, b);
151 PrintLn(" *** Question 34 *** ");
154 PrintLn(a & 0x20 == 0x20);
156 PrintLn(" *** Question 35 *** ");
159 PrintLn((a & 0x20) == 0x20);