In this exercise I am using Visual Studio 2019 and a modified version of the std_lib_facilities header found here.
Chapter 25 // Drill 1
Run this:
int v = 1; for(int i = 0; i < sizeof(v)*8; ++i) { cout << v << ' '; v << =1; }
I've never seen <<= before. But shifting to the left by 1 is the "cheapest" and "fastest" way to multiply by 2. In some very low-level engine code at work, I often see >> 1 to divide by 2 instead of / 2, however it's not 1995 anymore and Visual Studio will convert divides/multiplies that are powers of 2 to an equivalent shift for you.
The last number will wrap as it's 1 over the max limit of a signed int.
Chapter 25 // Drill 2
Run that again with v declared to be an unsigned int.
Github: https://github.com/l-paz91/principles-practice/blob/master/Chapter%2025/Drills/Drill%201%2C2
.
No comments:
Post a Comment