C# 请解释一下这个c代码
您能否解释一下这段代码中发生了什么(它是如何乘以代码注释中所说的4的?):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+
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