1+ #include < iostream>
2+ using namespace std ;
3+
4+ void arithmeticOperator ();
5+ void logicalOperator ();
6+ void bitWiseOperator ();
7+
8+ struct Operations
9+ {
10+ Operations ()
11+ {
12+ cout << " \n "
13+ << " \n "
14+ << " Operation\n " ;
15+ arithmeticOperator ();
16+ logicalOperator ();
17+ bitWiseOperator ();
18+ }
19+ };
20+
21+ static Operations autoRunInstance;
22+
23+ void arithmeticOperator ()
24+ {
25+ cout << " \n --- ArithmeticOperator Examples ---\n " ;
26+ int a{100 }, b{200 };
27+
28+ // Addition
29+ cout << " a = " << a << " , b = " << b << " \n " ;
30+ int sum = a + b;
31+ cout << " sum = " << sum << " \n " ;
32+
33+ // Subtraction
34+ cout << " a = " << a << " , b = " << b << " \n " ;
35+ int different = a - b;
36+ cout << " different = " << different << " \n " ;
37+
38+ // Multiplication
39+ cout << " a = " << a << " , b = " << b << " \n " ;
40+ int product = a * b;
41+ cout << " product = " << product << " \n " ;
42+
43+ // Division
44+ cout << " a = " << a << " , b = " << b << " \n " ;
45+ int quotient = a / b;
46+ cout << " quotient = " << quotient << " \n " ;
47+
48+ // Modulus
49+ cout << " a = " << a << " , b = " << b << " \n " ;
50+ int remainder = a % b;
51+ cout << " remainder = " << remainder << " \n " ;
52+
53+ // Increment
54+ cout << " a = " << a << " \n " ;
55+ int preIn = ++a; // increase a, return copy
56+ cout << " preIn = " << preIn << " \n " ;
57+
58+ cout << " a = " << a << " \n " ;
59+ int postIn = a++; // copy a to a copy, then increase a, return copy
60+ cout << " postIn = " << preIn << " \n " ;
61+
62+ // Decrement
63+ cout << " b = " << b << " \n " ;
64+ int preDe = --b;
65+ cout << " preDe = " << preDe << " \n " ;
66+
67+ cout << " b = " << b << " \n " ;
68+ int postDe = b--;
69+ cout << " postDe = " << postDe << " \n " ;
70+
71+ // Comma:
72+ cout << " a = " << a << " , b = " << b << " \n " ;
73+ int value = (a, b); // evalue a then b, return value of b
74+ cout << " Comma(a,b) = " << value << " \n " ;
75+ }
76+
77+ void logicalOperator ()
78+ {
79+ cout << " \n --- LogicalOperator Examples ---\n " ;
80+ bool a = true ;
81+ bool b = false ;
82+ bool c = true ;
83+
84+ cout << boolalpha; // show true/false instead of 1/0
85+ cout << " a = " << a << " , b = " << b << " , c = " << c << " \n\n " ;
86+
87+ // AND (&&)
88+ cout << " [AND] a && b = " << (a && b) << " \n " ;
89+
90+ // OR (||)
91+ cout << " [OR ] a || c = " << (a || c) << " \n " ;
92+
93+ // NOT (!)
94+ cout << " [NOT] !c = " << (!c) << " \n " ;
95+ }
96+
97+ #include < bitset>
98+ void bitWiseOperator ()
99+ {
100+ cout << " \n --- BitWiseOperator Examples ---\n " ;
101+ bitset<8 > bitsA{0b1111'1111 };
102+ bitset<8 > bitsB{0b1111'0000 };
103+
104+ cout << " bitA = " << bitsA << " , bitB = " << bitsB << " \n " ;
105+
106+ // AND
107+ bitset<8 > result = bitsA & bitsB;
108+ cout << " bitA && bitB= " << result << " \n " ;
109+
110+ // OR
111+ result = bitsA | bitsB;
112+ cout << " bitA | bitB= " << result << " \n " ;
113+
114+ // XOR
115+ result = bitsA ^ bitsB;
116+ cout << " bitA ^ bitB= " << result << " \n " ;
117+
118+ // NOT
119+ result = ~bitsA;
120+ cout << " ~bitA = " << result << " \n " ;
121+
122+ // LEFT SHIFT
123+ result = bitsA << 1 ;
124+ cout << " bitA << 1 = " << result << " \n " ;
125+
126+ // RIGHT SHIFT
127+ result = bitsA >> 1 ;
128+ cout << " bitA >> 1 = " << result << " \n " ;
129+ }
0 commit comments