Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
I'm assuming you're asking about the left bit (aka binary) shift operators <<
It can be confusing at first, because the same operator is overloaded by e.g. stringstream to append things to the stream.
But originally the << and >> operators shift bits in an integer. Combined with & (and) operation, it is used here to extract 8 bit parts of the original 32 bit number.
Take a look here https://www.educative.io/answers/what-are-bit-shift-operations . And here https://www.tutorialspoint.com/cplusplus/cpp_operators.htm .
Given an
uint32_t
variableip
, you can extract four 8 bit chunks like that:To reverse it:
Hope that helps :)
Your solution has a very subtle bug which leads to UB and might be difficult to reproduce on other compiler.
Bug in your solution is not a kata issue.