What does << mean? | Sololearn: Learn to code for FREE!
Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis
+ 2

What does << mean?

I donā€™t remember seeing this function in the lessons, but it keeps popping up in the challenge questions. Iā€™ve tried to reverse engineer from the answers, but it still doesnā€™t make any sense to me. Can someone pls help? E.g. what would the output of: print(5>>2)

8th Jan 2018, 10:23 PM
Yanie
Yanie - avatar
2 Respostas
+ 7
as Quentin said, I ll just add left shift means multiply by 2, 11<<1 is 110 ( 3 becomes 6) 11 << 2 is 1100 ( 3 becomes 12) so x << num , means x *2 ^num conversely , >> right shift means divide by 2, so 5 >> 1 is 5/2 = 2 5 >> 2 is 5 / 2 = 2 then again 2/ 2 = 1 so 1 is the answer
8th Jan 2018, 10:43 PM
Morpheus
Morpheus - avatar
+ 7
"5>>2" push all the bits of "5" written in binary (so "101"). It pushes it 2 places to the right, so it becomes 1. If you did "5<<3" instead it would have push it 3 places to the left adding zeros at its right and it would have returned "10100"
8th Jan 2018, 10:37 PM
Dapper Mink
Dapper Mink - avatar