c++ - 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
或翻转位。
解决方案
在整数的 2-compliment 表示中,此循环
for(int i=n-1; ~i; --i)
相当于
for(int i=n-1; i != -1; --i)
推荐阅读
- python - 如何从代码点变量中获取 Unicode 字符?
- python - 'tf.get_default_session()' 的目的
- postgresql - 迄今为止的 Postgres 双精度
- python - ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句中的语法错误。(-3502) (SQLExecDirectW)')
- aem - 如何使用可编辑模板以编程方式在 AEM 中创建页面
- javascript - Javascript:基于时间戳属性对对象数组进行排序不会正确排序一个元素
- python - 在 Ubuntu 中创建套接字的 Python 权限错误
- java - 非静态方法
无法从静态上下文中引用 findViewById(int) - swift - 可选 UI 元素的快速性能
- java - 如何在文件txt中查找日期YYYY-MM-DD