首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C 語言位運算實戰:0 按位取反結果解析

     編輯:關於C

代碼與結果

#include <stdio.h>
int main() {
    int i = 0;
    int n = ~i;
    printf("%d\n", n);  // 輸出 -1
    return 0;
}

二進制原理解析

假設 32 位 int:

0 (十進制) = 00000000 00000000 00000000 00000000 (二進制)
~0          = 11111111 11111111 11111111 11111111 (按位取反)

在二進制補碼表示中,全 1 位模式對應十進制 -1。

補碼驗證

  • 原碼:1000...0001(符號位 1,數值 1)
  • 反碼:1111...1110
  • 補碼:1111...1111 = -1

通用結論

對於任意有符號整數 x,~x = -x - 1。例如 ~5 = -6,~-1 = 0。此恆等式常用於位運算技巧與邊界條件處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved