c - ANSI C89 的补零

标签 c ansi

当发现 0 的恭维时,它变成了 -1。为什么0的补码是-1?它总是 -1 还是取决于编译器?

最佳答案

0 的按位求反,在 C 中写为 ~0,仅当编译器使用 two's complement 时为 -1来表示有符号整数。因此,这是编译器表示数字的方式的结果,通常不是“真实的”。

关于c - ANSI C89 的补零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160028/

相关文章:

objective-c - 如何向 Xcode 添加 #ifdef DEBUG?

c - 是否可以使用并行 Travelsar 在二叉搜索树中查找元素

c - 如何为 Arm Linux 构建静态版本的 pcap 库

c - 要在我的 C 程序中处理 UTF-8,我必须知道什么?

c - ansi c - 自动清理难看的代码

c - ansi C 是否对程序中的外部变量数量进行了限制?

excel - 通过 ODBC 将 Excel 连接到 PostgreSQL

c - 更好的命令行界面

python - Python 控制台中的粗体格式

c - 如果有超过 1 个最大值,如何打印第一次出现的情况?