进制转换

//二进制字符转十进制
Function binToDec(Value :string) : string;//integer;
VAR
 str : String;
 Int : Integer;
 i : integer;
BEGIN
 Str := UpperCase(Value);
 Int := 0;
 FOR i := 1 TO Length(str) DO
  Int := Int * 2+ ORD(str[i]) - 48;
 Result := IntToStr(Int);
end;

//十进制转二进制 函数一
function mod_num(n1,n2:integer):integer;//取余数
begin
 result:=n1-n1 div n2*n2
end;
//十进制转二进制 函数二
function reverse(s:String):String;//取反串
Var
 i,num:Integer;
 st:String;
begin
 num:=Length(s);
 st:='';
 For i:=num DownTo 1 do
 Begin
  st:=st+s[i];
 End;
 Result:=st;
end;
//十进制转化二进制
Function DecTobin(Value :Integer) : string;
Var
 ST:String;
 N:Integer;
Begin
 ST:='';
 n:=value;
 While n>=2 Do
 Begin
  st:=st+IntToStr(mod_num(n,2));
  n:=n div 2;
 End;
 st:=st+IntToStr(n);
 Result:=reverse(st);
End;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
 if checkbox2.Checked then
  self.FormStyle := fsStayOnTop
 else
  self.FormStyle := fsNormal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try
 e11.Text := '';
 e22.Text := '';
 e11.Text := dectobin(strtoint(e1.Text));
 e22.Text := uppercase(format('%x',[strtoint(e1.Text)]));
except
  on EConvertError do showmessage('数值错误');
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
try
 e33.Text := '';
 e55.Text := '';
 e33.Text := bintodec(e3.Text);
 e55.Text := uppercase(format('%x',[strtoint(bintodec(e3.Text))]));
except
  on EConvertError do showmessage('数值错误');
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
try
 e44.Text := '';
 e66.Text := '';
 e44.Text := inttostr(strtoint('$'+e4.Text));
 e66.Text := dectobin(strtoint('$'+e4.Text));
except
  on EConvertError do showmessage('数值错误');
end;
end;

end.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值