首页 > 解决方案 > C++ 的 For 循环中的位补函数有什么作用?

问题描述

以这行代码为例: for(int i=n-1; ~i; --i) 我的问题是什么~i意思。我已经知道 for 循环需要以下内容:

for (type var = ; condition; something to do with var) {
code here
}

但是~i条件如何?我所知道的是~i返回 的按位补码i或翻转位。

标签: c++for-loopbitwise-operators

解决方案


在整数的 2-compliment 表示中,此循环

for(int i=n-1; ~i; --i)

相当于

for(int i=n-1; i != -1; --i)

推荐阅读