renton79 at April 3rd, 2010 17:18 — #1
I have a piece of code I can't figure out how it works, there are two boolean vars true and false. As I don't know C++ at all I have a bit of problem to figure out what happens when both of them are bitwise shifted by 1 and 2.
bool a = true; // in integer is equal to 1
bool b = false; // in integer is equal to 0
could anyone please tell me what would be the output trace of a and b shifted as below as I can't check it myself
int c = (a \<\< 1) | (b \<\< 2);
reedbeta at April 3rd, 2010 20:14 — #2
You are familiar with bitwise operations, aren't you? In C/C++, \<\< is left shift and | is bitwise OR. Given that, the answer should be obvious...
renton79 at April 4th, 2010 05:59 — #3
I got it all figured at the end, thanks anyway, sorry for posting so basic questions but I am rewriting some code from C++ and I am not familiar with code, I really have to take my time and learn the basics soon
sol_hsa at April 5th, 2010 16:01 — #4
I did this little boolean primer some time back, may be helpful: http://iki.fi/sol/boolean.html