&运算符是什么意思?

帕克维斯·霍马云(Paktwis Homayun)

我试图理解c ++中if-else语句的条件,这是该语句所在的代码段(不是简写版本):

for (int i = 0; i < 8; ++i)
    {
        Point newCenter = center;
        newCenter.x += oneEighth.x * (i&4 ? 0.5f : -0.5f);
    }

我确实知道,如果条件为true,则0.5f成立,否则为-0.5f,但这是什么i&4意思?

托马斯·罗素

这在这里有两件事,首先是使用按位AND运算符&,它采用两个整数(i4的二进制表示形式,并计算这两个整数的按位AND运算(即,对于结果数字二进制表示形式中的每个位置我们看一下位在两个参数对应的位置,并设置得到的位,以1当且仅当在参数上的位都是1),其次,它使用的是隐式intbool转换其返回true如果整数不等于0

例如,如果我们有i=7,则此内容在二进制补码中的内部按位表示为:

/*24 0s*/ 0 0 0 0 0 1 1 1

并且4is/*24 0s*/ 0 0 0 0 0 1 0 0和so的二进制补码表示,并且按位AND is/*24 0s*/ 0 0 0 0 0 1 0 0并且由于它不等于零,因此被隐式转换为true,因此满足条件。

或者,如果考虑i=2,则我们具有内部表示形式:

/*24 0s*/ 0 0 0 0 0 0 1 0

因此,按位AND给出/*24 0s*/ 0 0 0 0 0 0 0 0,因此不满足条件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在类运算符的上下文中,继承是什么意思

来自分类Dev

<>运算符是什么意思

来自分类Dev

“&^”运算符是什么意思?

来自分类Dev

->运算符在ANTLR3中是什么意思?

来自分类Dev

Ruby:“!〜”运算符是什么意思?

来自分类Dev

Delphi运算符^,是什么意思?

来自分类Dev

()运算符的这种特殊用法是什么意思?

来自分类Dev

Scala函数文字中=>(向右双箭头)运算符的链接是什么意思?

来自分类Dev

Cypher中的这个运算符(=〜)是什么意思?

来自分类Dev

在Spray.io中〜>运算符到底是什么意思?

来自分类Dev

这些运算符在Elixir中是什么意思?〜>>,<<〜

来自分类Dev

这个运算符是什么意思?/ =

来自分类Dev

Haskell中的/ =运算符是什么意思?

来自分类Dev

。'*运算符在Matlab中是什么意思?

来自分类Dev

JavaScript中的'/ ='运算符是什么意思?

来自分类Dev

JavaScript-这些值分配(使用| =作为运算符)是什么意思?

来自分类Dev

运算符?=是什么意思?

来自分类Dev

Haskell运算符“ <>”是什么意思?

来自分类Dev

//运算符在Julia中是什么意思?

来自分类Dev

这个“ >> =”运算符在C中是什么意思?

来自分类Dev

Java中的运算符/算符“ >>”是什么意思?

来自分类Dev

Delphi运算符^,是什么意思?

来自分类Dev

Prolog运算符'->'是什么意思

来自分类Dev

重载运算符是什么意思

来自分类Dev

C#中的“ <<”运算符是什么意思

来自分类Dev

运算符?=是什么意思?

来自分类Dev

这个红宝石运算符是什么意思$?

来自分类Dev

=> 运算符在 Swift 中是什么意思?

来自分类Dev

这个运算符`=>`在verilog中是什么意思

Related 相关文章

热门标签

归档