Menu Close

c++中k=k-1是什么意思啊?

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

展开全部C++中,&符号有两个基本作用。一是取地址;第二个是按位与运算,就是AND运算,是二进制运算。这里显然不是取地址,而是后者。比如,k=23时,化成二进制就是10111,然后原式等价k = k & (k-1),也就是10111&10110,结果等于10110,就是22.

展开全部在这里&是按位于运算符,k&=k-1;和a+=1形式一样,k k只是运算方法不一样

按位与运算符是双目运算符,其功能是将参与运算的两操作数各自对应的二进制为进行于操作。只有对应的两个二进制位均为1 是,结果对应的二进制位才为 1,否则为0.例如:表达式“21&18”的计算结果是16(即二进制数10000),因为:

按位与所得结果是: 0000 0000 0000 0000 0000 0000 0001 0000(21和18左起第五位都是1,对应出结果 1)

更多精彩尽在这里,详情点击:https://missjessiescurlbar.com/,K-戴维斯

发表评论

电子邮件地址不会被公开。 必填项已用*标注