初学 Delphi 嵌入汇编[16] - 进制的表示方法
初学 Delphi 嵌入汇编[16] - 进制的表示方法
涂孟超 发表于3年前
初学 Delphi 嵌入汇编[16] - 进制的表示方法
  • 发表于 3年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

关于进制:

生活中有 7进制(星期)、60进制(小时)、10进制(算术)等等.
计算机要用到 10进制、16进制、2进制和 8进制.
8进制用得少了, 但也有, 譬如 Unix 服务器上的文件属性.

2进制是计算机容易识别的; 10进制是人容易识别的, 据说 10进制源自于人有十个手指.

计算机为什么会使用 8进制和 16进制呢? 因为: 2 3=8; 2 4=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;

 
 
 
 
 

 

 

  
共有 人打赏支持
粉丝 13
博文 2004
码字总数 14107
×
涂孟超
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: