Boolean logic and loops | Sololearn: Learn to code for FREE!


Boolean logic and loops

When does Boolean logic apply to an if loop? I'm certain I've seen it applied before, but in the following code it's not applicable: #include <iostream> using namespace std; int x = 1; int y = 1; int main() { if (x + y == 1) {cout << "It worked"<<endl;} else cout << "It didn't work" << endl; return 0; }

9/24/2017 7:56:55 AM


13 Answers

New Answer


The code works perfectly. 1 + 1 is 2 and 2 is clearly not 1. The code outputs "It didn't work".


First of all, if statement isn't a loop - it's a conditional statement like the switch. Whatever you put in an if statement, boils down to a boolean "true/1" or "false/0" value. For example: // Example program #include <iostream> #include <cmath> using namespace std; int main() { int a = -1; int b = 128; int c = 0; float d = 1.45f / 98.0f; double e = (2.71 + 3.14) * 30.0; double f = sin(e); char g = 'H'; long long h = 12345678912345; if (a) cout << "a Done.\n"; if (b) cout << "b Done.\n"; if (c) cout << "c Done.\n"; if (d) cout << "d Done.\n"; if (e) cout << "e Done.\n"; if (f) cout << "f Done.\n"; if (g) cout << "g Done.\n"; if (h) cout << "h Done.\n"; }


So give up vote to all friend who clarified the point for you, my friend.


Thanks dear Hatsy for useful tip. really worth to put it in my tutorial series. @~)~~~~


Indeed, anything which is not 0 and not false is evaluated to true in C++, but in if (1 + 1 == 1) All the values are taken as integer values. Hence LHS and RHS value does not tally, and the statement is evaluated as false. Try doing if (bool(1 + 1) == true) // or if (bool(1 + 1) == 1) These will yield different results.


Also, the 'if' keyword is associated with conditional statements. There is no such thing as 'if loops'.


if (x+y==1) comes the boolean


I think boolean logic will not work here so here, 1+1==2 and not 1 as both the 1's are taken as decimal numbers, not binary numbers. So if statement doesn't executed and it shows "It didn't work".


Okay, I got confused because if I write something like "int i =5; if (i == 5)" this evaluates to if (true)." I thought that in this case as long as the number was anything other than 0 the code would consider the statement true, as in boolean logic, but this is not the case. It checks the condition truthfully, then the answer becomes 1 (true) or 0 (false). Thanks.


First up, if statement is not a loop... It will execute when the condition is true, and not when it is false. if is a conditional statement.



true if statement..


Boolean logic