|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
1.HexToBin() 十六进制转换二进制xsZLinux联盟 所在单元:ClassesxsZLinux联盟 Delphi语法:xsZLinux联盟
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer |
xsZLinux联盟 描述:xsZLinux联盟 调用HexToBin函数转换十六进制字符串到相应的二进制值。xsZLinux联盟 Text是一个表示十六进制值的字符串。xsZLinux联盟 Buffer返回转换后的二进制结果值。xsZLinux联盟 BufferSize表示Buffer的大小。Text需要指向至少2*BufSize的十六进制字符,因为每两个十六进制字符表现为一个字节。xsZLinux联盟 HexToBin返回在Buffer中因为Text没有包含有效的十六进制字符('0'..'f')而还没有被用的字符数量.xsZLinux联盟 注意:十六进制数必须使用小写字符;HexToBind不能识别大写字符。xsZLinux联盟 xsZLinux联盟 2.BinToHex() 二进制转换十六进制 xsZLinux联盟 所在单元:ClassesxsZLinux联盟 Delphi语法:xsZLinux联盟
procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); |
xsZLinux联盟 描述:xsZLinux联盟 调用BinToHex转换buffer中的二进制值为它所表示的十六进制字符串xsZLinux联盟 Buffer是一个字节的缓冲区,其中包含二进制值xsZLinux联盟 Text返回一个以null为结束字符的字符串,表示Buffer作为十六进制数的值xsZLinux联盟 BufSize表示Buffer的大小。Text需要指向一系列字符,这些字符至少有2*BufSize大小字节。xsZLinux联盟 xsZLinux联盟 3.IntToHex()将整型数转换为十六进制数xsZLinux联盟 所在单元:SysUtilsxsZLinux联盟 Delphi语法:xsZLinux联盟
xsZLinux联盟 function IntToHex(Value: Integer; Digits: Integer): string; overload;xsZLinux联盟 function IntToHex(Value: Int64; Digits: Integer): string; overload; |
xsZLinux联盟 描述:xsZLinux联盟 IntToHex转换一个数字为这个数字十六进制表示的字符串。Value是要转换的数字。参数Digits指定字符最小宽度,最小宽度不足时将用0填充。xsZLinux联盟 xsZLinux联盟 4.StrToInt()字符串转换成整型数xsZLinux联盟 所在单元:SysUtilsxsZLinux联盟 Delphi语法:xsZLinux联盟
function StrToInt(const S: string): Integer; |
xsZLinux联盟 描述:xsZLinux联盟 返回字符串S转换成整数,字符串非整数表达时将引起异常,十六进制字符串转换为整型数要求在字符串前面添加$即可。xsZLinux联盟 xsZLinux联盟 5.把一个整数变成二进制字符串 xsZLinux联盟
xsZLinux联盟 function IntToBinaryStr(TheVal: LongInt): string;xsZLinux联盟 varxsZLinux联盟 counter: LongInt;xsZLinux联盟 beginxsZLinux联盟 {This part is here because we remove leading zeros. ThatxsZLinux联盟 means that a zero value would return an empty string.}xsZLinux联盟 if TheVal = 0 then beginxsZLinux联盟 result := '0';xsZLinux联盟 exit;xsZLinux联盟 end;xsZLinux联盟 result := '';xsZLinux联盟 counter := $80000000;xsZLinux联盟 {Suppress leading zeros}xsZLinux联盟 while ((counter and TheVal) = 0) do beginxsZLinux联盟 counter := counter shr 1;xsZLinux联盟 if (counter = 0) then break; {We found our first "1".}xsZLinux联盟 end;xsZLinux联盟 while counter > 0 do beginxsZLinux联盟 if (counter and TheVal) = 0 then result := result + '0'xsZLinux联盟 else result := result + '1';xsZLinux联盟 counter := counter shr 1;xsZLinux联盟 end;xsZLinux联盟 end;xsZLinux联盟 xsZLinux联盟 // Binary to IntegerxsZLinux联盟 function BinToInt(Value: string): Integer;xsZLinux联盟 varxsZLinux联盟 i, iValueSize: Integer;xsZLinux联盟 beginxsZLinux联盟 Result := 0;xsZLinux联盟 iValueSize := Length(Value);xsZLinux联盟 for i := iValueSize downto 1 doxsZLinux联盟 if Value[i] = '1' then Result := Result + (1 shl (iValueSize - i));xsZLinux联盟 end;xsZLinux联盟 xsZLinux联盟 // Integer to BinaryxsZLinux联盟 function IntToBin(Value: Longint; Digits: Integer): string;xsZLinux联盟 varxsZLinux联盟 i: Integer;xsZLinux联盟 beginxsZLinux联盟 Result := '';xsZLinux联盟 for i := Digits downto 0 doxsZLinux联盟 if Value and (1 shl i) <> 0 thenxsZLinux联盟 Result := Result + '1'xsZLinux联盟 elsexsZLinux联盟 Result := Result + '0';xsZLinux联盟 end; |
xsZLinux联盟 xsZLinux联盟 6.十六进制转换二进制 xsZLinux联盟
xsZLinux联盟 function HexToBin(Hexadecimal: string): string;xsZLinux联盟 constxsZLinux联盟 BCD: array [0..15] of string =xsZLinux联盟 ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',xsZLinux联盟 '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');xsZLinux联盟 varxsZLinux联盟 i: integer;xsZLinux联盟 beginxsZLinux联盟 for i := Length(Hexadecimal) downto 1 doxsZLinux联盟 Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;xsZLinux联盟 end; |
xsZLinux联盟 xsZLinux联盟 7.八进制和十进制的转换xsZLinux联盟
xsZLinux联盟 function OctToInt(Value: string): Longint;xsZLinux联盟 varxsZLinux联盟 i: Integer;xsZLinux联盟 int: Integer;xsZLinux联盟 beginxsZLinux联盟 int := 0;xsZLinux联盟 for i := 1 to Length(Value) doxsZLinux联盟 beginxsZLinux联盟 int := int * 8 + StrToInt(Copy(Value, i, 1));xsZLinux联盟 end;xsZLinux联盟 Result := int;xsZLinux联盟 end;xsZLinux联盟 xsZLinux联盟 function IntToOct(Value: Longint; digits: Integer): string;xsZLinux联盟 varxsZLinux联盟 rest: Longint;xsZLinux联盟 oct: string;xsZLinux联盟 i: Integer;xsZLinux联盟 beginxsZLinux联盟 oct := '';xsZLinux联盟 while Value <> 0 doxsZLinux联盟 beginxsZLinux联盟 rest := Value mod 8;xsZLinux联盟 Value := Value div 8;xsZLinux联盟 oct := IntToStr(rest) + oct;xsZLinux联盟 end;xsZLinux联盟 for i := Length(oct) + 1 to digits doxsZLinux联盟 oct := '0' + oct;xsZLinux联盟 Result := oct;xsZLinux联盟 end; |
xsZLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|