delphi 進製轉換

2022-06-09 10:15:13 字數 4374 閱讀 2475

1.hextobin() 十六進製制轉換二進位制

所在單元:classes

delphi語法:

functionhextobin(text, buffer: pchar; bufsize: integer): integer

描述:呼叫hextobin函式轉換十六進製制字串到相應的二進位制值。

text是乙個表示十六進製制值的字串。

buffer返回轉換後的二進位制結果值。

buffersize表示buffer的大小。text需要指向至少2*bufsize的十六進製制字元,因為每兩個十六進製制字元表現為乙個位元組。

hextobin返回在buffer中因為text沒有包含有效的十六進製制字元('0'..'f')而還沒有被用的字元數量.

注意:十六進製制數必須使用小寫字元;hextobind不能識別大寫字元。

2.bintohex() 二進位制轉換十六進製制

所在單元:classes

delphi語法:

procedurebintohex(buffer, text: pchar; bufsize: integer);

描述:呼叫bintohex轉換buffer中的二進位制值為它所表示的十六進製制字串

buffer是乙個位元組的緩衝區,其中包含二進位制值

text返回乙個以null為結束字元的字串,表示buffer作為十六進製制數的值

bufsize表示buffer的大小。text需要指向一系列字元,這些字元至少有2*bufsize大小位元組。

3.inttohex()將整型數轉換為十六進製制數

所在單元:sysutils

delphi語法:

functioninttohex(value: integer; digits: integer):string; overload;

functioninttohex(value: int64; digits: integer):string; overload;

描述:inttohex轉換乙個數字為這個數字十六進製制表示的字串。value是要轉換的數字。引數digits指定字元最小寬度,最小寬度不足時將用0填充。

4.strtoint()字串轉換成整型數

所在單元:sysutils

delphi語法:

functionstrtoint(consts:string): integer;

描述:返回字串s轉換成整數,字串非整數表達時將引起異常,十六進製制字串轉換為整型數要求在字串前面新增$即可。

5.把乙個整數變成二進位制字串

functioninttobinarystr(theval: longint):string;

var

counter: longint;

begin

iftheval = 0thenbegin

result := '0';

exit;

end;

result := '';

counter := $80000000;

while((counterandtheval) = 0)dobegin

counter := countershr1;

if(counter = 0)thenbreak;

end;

whilecounter > 0dobegin

if(counterandtheval) = 0thenresult := result + '0'

elseresult := result + '1';

counter := countershr1;

end;

end;

// binary to integer

functionbintoint(value:string): integer;

var

i, ivaluesize: integer;

begin

result := 0;

ivaluesize := length(value);

fori := ivaluesizedownto1do

ifvalue[i] = '1'thenresult := result + (1shl(ivaluesize - i));

end;

// integer to binary

functioninttobin(value: longint; digits: integer):string;

var

i: integer;

begin

result := '';

fori := digitsdownto0do

ifvalueand(1shli) <> 0then

result := result + '1'

else

result := result + '0';

end;

6.十六進製制轉換二進位制

functionhextobin(hexadecimal:string):string;

const

bcd:array[0..15]ofstring=

('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',

'1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');

var

i: integer;

begin

fori := length(hexadecimal)downto1do

result := bcd[strtoint('$' + hexadecimal[i])] + result;

end;

7.八進位制和十進位制的轉換

functionocttoint(value:string): longint;

var

i: integer;

int: integer;

begin

int := 0;

fori := 1tolength(value)do

begin

int := int * 8 + strtoint(copy(value, i, 1));

end;

result := int;

end;

functioninttooct(value: longint; digits: integer):string;

var

rest: longint;

oct:string;

i: integer;

begin

oct := '';

whilevalue <> 0do

begin

rest  := valuemod8;

value := valuediv8;

oct := inttostr(rest) + oct;

end;

fori := length(oct) + 1todigitsdo

oct := '0' + oct;

result := oct;

end;

delphi 進製轉換

1.hextobin 十六進製制轉換二進位制 所在單元 classes delphi語法 functionhextobin text,buffer pchar bufsize integer integer 描述 呼叫hextobin函式轉換十六進製制字串到相應的二進位制值。text是乙個表示十六進...

Delphi進製轉換函式

二進位制轉換 function bintodec value string integer var str string i integer begin str uppercase value result 0 for i 1 to length str do result result 2 ord...

delphi 十進位制十六進製制轉換

delphi有提供十進位制轉換成十六進製制的函式 inttostr 返回值為string 十進位制轉十六進製制 var i integer str string begin i 255 showmessage inttohex i,2 ff 2表示返回的位數 另外,formart也有把十進位製用十六...