On Thu, Jul 31, 2014 at 06:08:56PM +0000, bearophile via Digitalmars-d-learn wrote: > H. S. Teoh: > > >What would you check for? Shifting something that already has its > >high bit set? > > If you have a uint where the 3 most significant bits are 1, and you > shift it 3 bits on the left, you lose those three bits, you have an > overflow. The point of checkedint functions/intrinsics is to reveal > overflows. [...]
OK, makes sense. But what about if only the most significant bit is 1? Wouldn't that also be an overflow? So you're essentially checking if the topmost n bits are zero, where n is the number of bits you wish to shift by. T -- BREAKFAST.COM halted...Cereal Port Not Responding. -- YHL
