タイトルがすべてを物語っています: マイナス 1 とチルダ (1 の補数) ゼロの違いは何ですか?
この質問は、すべてのビットが設定されるビット マスクを指定する最良の方法についての議論中に出てきました。次のうちどれが良いですか?
int func(int value, int mask = -1) {
return (value & mask);
}
また
int func(int value, int mask = ~0) {
return (value & mask);
}
それが逆になる他の用途はありますか?
更新: stackoverflow.com/q/809227/34509で、このトピックに関する同様の議論がありましたが 、以前の調査中に見逃していました。指摘してくれた Johannes Schaub に感謝します。