delphi 任意进制转换

function MyFunction(i,k:int64): string;

 

function mod_num(n1, n2: int64): int64; //取余数

begin

  result := n1 - n1 div n2 * n2 ;

end;

 

var

a:TStack<string>;

n,m:int64;

begin

a:=TStack<string>.Create();

 

n:=i;

while n>=k do

begin

m:=  mod_num( n , k);

n:=  n div k;

a.Push(IntToStr(m) );

end;

m:=  mod_num( n , k);

a.Push(IntToStr(m) );

 Result:='';

while a.Count>0 do

 Result:=Result+'|'+a.Pop ;

 a.Free;

 

end;

procedure TFormMain.btn45Click(Sender: TObject);

var

n,k:int64;

begin

n:=StrToInt64Def(edt9.Text,0);

k:=  StrToInt64Def(edt10.Text,0);

 

Memo4.Lines.Add(Format('%d的%d进制=%s',[ n,k,MyFunction(n,k)])   ) ;

 

 

end;

 

20的2进制=|1|0|1|0|0

10的2进制=|1|0|1|0

1000000000的2进制=|1|1|1|0|1|1|1|0|0|1|1|0|1|0|1|1|0|0|1|0|1|0|0|0|0|0|0|0|0|0

10000000000的2进制=|1|0|0|1|0|1|0|1|0|0|0|0|0|0|1|0|1|1|1|1|1|0|0|1|0|0|0|0|0|0|0|0|0|0

100000000000的2进制=|1|0|1|1|1|0|1|0|0|1|0|0|0|0|1|1|1|0|1|1|0|1|1|1|0|1|0|0|0|0|0|0|0|0|0|0|0

1000000000000的2进制=|1|1|1|0|1|0|0|0|1|1|0|1|0|1|0|0|1|0|1|0|0|1|0|1|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0

10000000000000的2进制=|1|0|0|1|0|0|0|1|1|0|0|0|0|1|0|0|1|1|1|0|0|1|1|1|0|0|1|0|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0

1000000000000000的2进制=|1|1|1|0|0|0|1|1|0|1|0|1|1|1|1|1|1|0|1|0|1|0|0|1|0|0|1|1|0|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0

5000000000000000的32进制=|4|14|3|15|4|27|30|1|0|0|0

5000000000000000的320进制=|4|210|37|50|200|0|0

5000000000000000的311进制=|5|163|178|91|232|287|134

50000000000000的311进制=|17|57|237|86|93|20

50000000000000的4进制=|2|3|1|1|3|2|1|2|0|2|0|0|3|3|1|0|2|0|0|0|0|0|0

50000000000000的5进制=|2|3|0|2|3|2|0|0|0|0|0|0|0|0|0|0|0|0|0|0

50000000000000的6进制=|2|5|4|2|0|1|4|0|3|3|0|1|2|1|3|2|5|2

500000000000001的6进制=|4|5|3|1|2|2|4|4|5|5|0|2|1|4|3|4|4|5|3

500000000000001的5进制=|1|0|1|1|0|1|4|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1

500000000000001的7进制=|2|1|0|2|1|3|5|4|4|0|5|3|1|0|4|6|0|4

500000000000001的70进制=|60|49|65|6|27|36|37|11

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值