title: “BINARY/OPERATORS” author: “laplante@plcb.ca” date: 2024-06-24 version: “1.0.0”
The following binary operators are defined in GoWeb:
|
or |=
)&
or &=
)^
or ^=
)<<
or <<=
)>>
or >>=
)~
)0b001 | 0b010;
return
3
res={{
0b001 | 0b010;
1 | 2;
1 | 2.0;
1 | "2";
1 | "2.0";
"\n2\n";
1.0 | 2;
1.0 | 2.0;
1.0 | "2";
1.0 | "2.0";
"\n3\n";
"1" | 2;
"1" | 2.0;
"1" | "2";
"1" | "2.0";
"\n4\n";
"1.0" | 2;
"1.0" | 2.0;
"1.0" | "2";
"1.0" | "2.0";
}}.
return
res=33333
2
3333
3
3333
4
3333.
res={{
0b111 & 0b110;
7 & 6;
7 & 6.0;
7 & "6";
7 & "6.0";
"\n2\n";
7.0 & 6;
7.0 & 6.0;
7.0 & "6";
7.0 & "6.0";
"\n3\n";
"7" & 6;
"7" & 6.0;
"7" & "6";
"7" & "6.0";
"\n4\n";
"7.0" & 6;
"7.0" & 6.0;
"7.0" & "6";
"7.0" & "6.0";
}}.
return
res=66666
2
6666
3
6666
4
6666.
res={{
0b1010 ^ 0b1100;
10 ^ 12;
10 ^ 12.0;
10 ^ "12";
10 ^ "12.0";
"\n2\n";
10.0 ^ 12;
10.0 ^ 12.0;
10.0 ^ "12";
10.0 ^ "12.0";
"\n3\n";
"10" ^ 12;
"10" ^ 12.0;
"10" ^ "12";
"10" ^ "12.0";
"\n4\n";
"10.0" ^ 12;
"10.0" ^ 12.0;
"10.0" ^ "12";
"10.0" ^ "12.0";
}}.
return
res=66666
2
6666
3
6666
4
6666.
res={{
0b10 << 2;
2 << 2;
2 << 2.0;
2 << "2";
2 << "2.0";
"\n2\n";
2.0 << 2;
2.0 << 2.0;
2.0 << "2";
2.0 << "2.0";
"\n3\n";
"2" << 2;
"2" << 2.0;
"2" << "2";
"2" << "2.0";
"\n4\n";
"2.0" << 2;
"2.0" << 2.0;
"2.0" << "2";
"2.0" << "2.0";
}}.
return
res=88888
2
8888
3
8888
4
8888.
res={{
0b1000 >> 2;
8 >> 2;
8 >> 2.0;
8 >> "2";
8 >> "2.0";
"\n2\n";
8.0 >> 2;
8.0 >> 2.0;
8.0 >> "2";
8.0 >> "2.0";
"\n3\n";
"8" >> 2;
"8" >> 2.0;
"8" >> "2";
"8" >> "2.0";
"\n4\n";
"8.0" >> 2;
"8.0" >> 2.0;
"8.0" >> "2";
"8.0" >> "2.0";
}}.
return
res=22222
2
2222
3
2222
4
2222.
res={{
printf("%!b(MISSING)", ~0b00001010&0xff); "\n";
~10&0xff; "\n";
~10&0xff;"\n";
~10&0xff;"\n";
~10&0xff;"\n";
"\n2\n";
~10.0&0xff;"\n";
~10.0&0xff;"\n";
~10.0&0xff;"\n";
~10.0&0xff;"\n";
"\n3\n";
~"10"&0xff;"\n";
~"10"&0xff;"\n";
~"10"&0xff;"\n";
~"10"&0xff;"\n";
"\n4\n";
~"10.0"&0xff;"\n";
~"10.0"&0xff;"\n";
~"10.0"&0xff;"\n";
~"10.0"&0xff;"\n";
}}.
return
res=11110101
245
245
245
245
2
245
245
245
245
3
245
245
245
245
4
245
245
245
245
.
res={{
a := 0b1000; a |= 1; a; "\n";
a = 0b1010; a &= 2; a; "\n";
a = 0b100; a ^= 0b1100; a; "\n";
a = 8; a <<=2; a; "\n";
a = 8; a >>=2; a; "\n";
}}.
return
res=9
2
8
32
2
.