算术+和按位OR

Moh*_*vel 1 c# java

算术+和按位OR之间是否有任何区别.这是多么不同的方式.

uint a = 10;
uint b = 20;

uint  arithmeticresult = a + b;

uint bitwiseOR = a | b;
Run Code Online (Sandbox Code Playgroud)

结果都是30.

编辑:小改动隐藏我的愚蠢.

ken*_*ytm 11

(10 | 20) == 10 + 20 只是因为1位不出现在同一个数字中.

       1010 = 10
   or 10100 = 20
   ————————
      11110 = 30
Run Code Online (Sandbox Code Playgroud)

然而,

    11 = 3        11 = 3
or 110 = 6     + 110 = 6
——————         ——¹——————
   111 = 7      1001 = 9
#   ^             ^
# (1|1==1)      (1+1=2)
Run Code Online (Sandbox Code Playgroud)