Re: Why (v1<<8 + v2) different from (v1<<8 | v2)?

2022-05-25 Thread step8 via Digitalmars-d-learn
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(

Re: Why (v1<<8 + v2) different from (v1<<8 | v2)?

2022-05-25 Thread Paul Backus via Digitalmars-d-learn
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

Why (v1<<8 + v2) different from (v1<<8 | v2)?

2022-05-25 Thread step8 via Digitalmars-d-learn
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 ?