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