数制转换(50分)

  • 主题发起人 主题发起人 lbylby
  • 开始时间 开始时间
L

lbylby

Unregistered / Unconfirmed
GUEST, unregistred user!
在bcb中有没有数制转换的函数,如16转2进制,或10进制转16或2进制的?
[?]
 
我有Delphi的,估计BCB应该也一样:
function HexToInt(const asHex: string;
aiDefault: Integer): Integer;
begin
Result := StrToIntDef('$' + asHex, aiDefault);
end;
function IntToBinX(const aiDec: Integer;
abWithLeadingZero: Boolean = False): string;
begin
Result := IntToBin(aiDec);
//IdGlobal.pas is necessary here.
if abWithLeadingZero then
Exit;
while (Length(Result) > 1) and (Result[1] = '0')do
begin
Delete(Result, 1, 1 );
end;
end;

ledtHex.Text := Format('%x', [iASCii])
function BinToInt(asBin: string): LongInt;
var
i: Integer;
begin
Result := 0;
for i := 1 to Length(asBin)do
begin
Result := Result shl 1;
if asBin = '1' then
begin
Result := Result + 1;
end;
end;
end;
 
你翻翻看看以下函数的帮助,是不是你要的
IntToHex
IntToBin
HexToBin
BinToHex
 
活用sscanf也是很有用的
 
我找到IntToHex()
#include<Sysutils.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString EditText = Edit1->Text;
Label1->Caption = "";
for (int i=1;i<=EditText.Length();i++)
{
Label1->Caption = Label1->Caption + IntToHex(EditText,2) + " ";
}
}
 
后退
顶部