+ 2
Templates and << Operator
So https://code.sololearn.com/c3LH9lXZJV24/?ref=app I got a number and don't understand the process behind it Can someone explain it in bits? I tought the << operator moves bits from right to left and tried to understand how 1100 ( 12 ) << 1100 ( 12 ) works If its not about bits then I apologies and ask for an explanation Also can I define a template function above main and declare it after main? If yes how? I'm aware about google research but still tought I ask here since I only play challenges in SL
2 ответов
+ 27
12<<12 shifts the number 12 to left 12 times, and thus it produces a large number. Let's try to trace the following :
Left shift:
12<<2
= 1100 << 2
1st shift: 11000 (24)
2nd shift: 110000 (48)
So 1 left shift actually multiplies the number with 2.
Edit: 12<<12 will multiply 12 with 2 twelve times
Right shift:
12>>2
= 1100>>2
1st shift: 0110 (6)
2nd shift: 0011 (3)
So 1 right shift divides the number by 2
I'm not sure about the second question, I hope someone else will answer that :)
+ 4
@Shamima Oh thanks so it was about Bitshifting afterall
Thanks its clear now ^ - ^)/