關於進制:
生活中有 7進制(星期)、60進制(小時)、10進制(算術)等等.
計算機要用到 10進制、16進制、2進制和 8進制.
8進制用得少了, 但也有, 譬如 Unix 服務器上的文件屬性.
2進制是計算機容易識別的; 10進制是人容易識別的, 據說 10進制源自於人有十個手指.
計算機為什麼會使用 8進制和 16進制呢? 因為: 23=8; 24=16; 這樣比較容易和 2進制換算.
從這裡也能看出, 2進制和 10進制的換算相對復雜些.
下面例子中說明了進制的表示方法, 七個函數都會返回整數 255://十進制
//十進制數後面也可以加個 D(大小寫無關)
function Fun0: Integer;
asm
mov eax, 255
end;function Fun1: Integer;
//二進制後面加 B(大小寫無關)
asm
mov eax, 255D
end;function Fun2: Integer;
//八進制後面加 O(大小寫無關)
asm
mov eax, 11111111B
end;function Fun3: Integer;
//十六進制前面加 $
asm
mov eax, 377O
end;function Fun4: Integer;
//十六進制也可以是後面加 H(大小寫無關)
asm
mov eax, $FF
end;function Fun5: Integer;
//非匯編代碼的 Delphi 只支持用 $ 表示十六進制
asm
mov eax, 0FFH {使用這種方法, 數字的首位不能是字母, 不然會被認為成標識符}
end;function Fun6: Integer;
//測試
begin
Result := $FF;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Fun0)); {255}
ShowMessage(IntToStr(Fun1)); {255}
ShowMessage(IntToStr(Fun2)); {255}
ShowMessage(IntToStr(Fun3)); {255}
ShowMessage(IntToStr(Fun4)); {255}
ShowMessage(IntToStr(Fun5)); {255}
ShowMessage(IntToStr(Fun6)); {255}
end;