C#UL和>>运营商

时间:2010-04-08 14:12:50

标签: c# operators

这个含义在文字中意味着什么?

(SomeVariable * 330UL >> 10)

是吗:SomeVariable times 3.3右移10 bit ??

4 个答案:

答案 0 :(得分:5)

没有

这意味着SomeVariable乘以330,提升为long并非周期性地向右转10bit。

(它将是循环的,或没有促销的算术移位)。

答案 1 :(得分:2)

将积分值右移一次相当于将其除以2.两次移位相当于除以4.等等。这使得表达式等同于:

ulong value = ((ulong)SomeVariable * 330) / 1024;

答案 2 :(得分:1)

UL代表无符号长。 >>是的,它是按位算术移位。

答案 3 :(得分:1)

SomeVariable乘以330作为无符号长移右10位