<div dir="ltr"><div><div>I have also tested and found out, that however in this example:<br>  unsigned a = 1;<br>  unsigned b = a << 33;<br>  for (int i = 0; i < 32; i++)<br>    printf("%d ", ((b >> i) & 1));<br>  return b;<br></div><div> I get the undef value at the end:<br></div> <b> ret i32 undef</b><br></div>he bits are printed correctly - shifted by the modulo, as is defined in the standard. What is the explanation? <br></div>