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

Delphi 內嵌組合語言教學 (20):Integer 類型二進制表示與補碼詳解

     編輯:Delphi

Integer 是 Delphi 最常用的 32 位有符號整數。本文從二進制位模式出發,詳細演示最大值、最小值、零、正負數的補碼表示與組合語言賦值技巧。

Integer 位模式結構

位置:31          23          15          7          0
     |------------|------------|------------|------------|
     |  符號位    |            數值位 (31 位)             |
     |  (31)      |                                        |

關鍵數值二進制對照

十進制二進制 (32 位)十六進位說明
2,147,483,64701111111 11111111 11111111 11111111$7FFFFFFF最大值 (MaxInt)
-2,147,483,64710000000 00000000 00000000 00000001$80000001最小值+1
-2,147,483,64810000000 00000000 00000000 00000000$80000000最小值
-111111111 11111111 11111111 11111111$FFFFFFFF全 1 補碼
000000000 00000000 00000000 00000000$00000000零
10000000000 00000000 00000000 01100100$00000064正數示例
-10011111111 11111111 11111111 10011100$FFFFFF9C負數補碼

補碼計算規則

  1. 正數:直接二進制表示
  2. 負數:對應正數按位取反 (反碼) + 1
  3. 例 -100:100 = $64 → 反碼 $FFFFFF9B → +1 = $FFFFFF9C

組合語言賦值範例

var I: Integer;
begin
  asm
    mov I, 01111111111111111111111111111111b  { MaxInt }
    mov I, 10000000000000000000000000000000b  { MinInt }
    mov I, 11111111111111111111111111111111b  { -1 }
    mov I, 00000000000000000000000000000000b  { 0 }
    mov I, 00000000000000000000000001100100b  { 100 }
    mov I, 11111111111111111111111110011100b  { -100 }
  end;
end;

二進制字面量語法

Delphi 組合語言支援 ...B / ...b 後綴表示二進制常數,提升位模式代碼可讀性。

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