Thanks:)
**writeln( (v1<<8) + v2 );**   is ok      
On Wednesday, 25 May 2022 at 12:51:07 UTC, Paul Backus wrote:
On Wednesday, 25 May 2022 at 12:42:04 UTC, step8 wrote:
    I run following test code:
      int v1 = 22;
      int v2 = 23;
      writeln( v1<<8 + v2 );              
      writeln( v1<<8 | v2 );

result is 0 and 5655
Why ( v1<<8 + v2 ) = 0 ?

`+` has a higher precedence than `<<`, so the first line is actually `v1 << (8 + v2)`.

(

Reply via email to