C# 请解释一下这个c代码

C# 请解释一下这个c代码,c#,C#,您能否解释一下这段代码中发生了什么(它是如何乘以代码注释中所说的4的?): publicstaticintgetnextsize(inti) { //把它乘以四,确保它是正的 return i>0?i,?是三元运算符,实际上是一个可返回的if/else语句 if (i>0) return i multiplied by four (bitshift to the left two) else return negative i multiplied by four ~x+

您能否解释一下这段代码中发生了什么(它是如何乘以代码注释中所说的4的?):

publicstaticintgetnextsize(inti)
{
//把它乘以四,确保它是正的

return i>0?i,
是三元运算符,实际上是一个可返回的if/else语句

if (i>0)
    return i multiplied by four (bitshift to the left two)
else
    return negative i multiplied by four

~x+1
表示两个人的赞美,加上一个人,实际上是一个负数。如果
i
是正数,这里的
x
正好是
i:

它会将位向左移位2,这实际上与乘以4相同


如果
i
不是正数(是负数或零),它将再次乘以4,然后对所有位求反(这就是
~
所做的)并加1(因为--正数需要)

另外,这看起来并不像PHP代码。它只是:<代码> x > 0代码/代码>返回>代码> x* 4 < /代码>,否则x为负:返回代码> x*-1 *4 < /COD>。只是用位操作程序编写的。对于自己的GooD1,有一个由Calver编写的,似乎是C,而不是PHP。代码“公共静态< /代码> >在C++中无效。你甚至不知道你在用什么语言,那么我建议删除这个问题它是c,那么也许?第二个代码操作符叫什么?
~
是否定操作符,如果你指的是否定操作符的话
if (i>0)
    return i multiplied by four (bitshift to the left two)
else
    return negative i multiplied by four