Delphi进制转换函数实现
"该资源提供的是Delphi编程语言中的进制转换源代码,包括从2、8、10到16进制的转换,以及从16、8、2到10进制的转换功能。" 在Delphi编程中,进制转换是常见的操作,特别是在处理二进制数据、内存表示或者进行计算时。这个源码定义了一个名为`TConversion`的类,该类包含了多种不同进制之间的转换方法。以下是对这些方法的详细解释: 1. **10到16进制转换**: - `IntToHex(Value: Integer; Digits: Integer)`: 这个函数将一个整数(Integer类型)转换成十六进制字符串,同时允许指定输出的位数(Digits参数)。 - `IntToHex(Value: Int64; Digits: Integer)`: 类似于上面的函数,但适用于更大的整数(Int64类型)。 2. **10进制到其他进制转换**: - `IntToHexStr(intStr: string)`: 将一个表示十进制数的字符串转换成二进制字符串。 - `IntToOStr(intstr: string)`: 将一个表示十进制数的字符串转换成八进制字符串。 3. **二进制到其他进制转换**: - `BittoInt(BitStr: String)`: 接受一个二进制字符串并返回对应的十进制整数。 - `BitStrToHextStr(constBitStr: String)`: 将二进制字符串转换成十六进制字符串。 - `BitStrToOStr(constBitStr: String)`: 将二进制字符串转换成八进制字符串。 4. **16进制到其他进制转换**: - `HextoIntStr(HexStr: String)`: 将一个十六进制字符串转换成表示十进制数的字符串。 - `HexToBitStr(HexStr: string)`: 十六进制字符串转换成二进制字符串。 - `HexToOStr(HexStr: string)`: 十六进制字符串转换成八进制字符串。 5. **八进制到其他进制转换**: - `OtoIntStr(O: string)`: 八进制字符串转换成十进制整数的字符串表示。 - `OtoBitStr(O: string)`: 八进制字符串转换成二进制字符串。 - `OtoHexStr(O: string)`: 八进制字符串转换成十六进制字符串。 通过这些方法,开发者可以在Delphi程序中方便地实现不同进制之间的转换,这对于数据表示、解析和编码是十分重要的。这些源码可以作为一个基础库来扩展或集成到项目中,以便快速处理进制转换的需求。
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
unit uConversion;
interface
uses
SysUtils,Math;
type
TConversion = class
public
//10 进制 to 2,8,16 进制
function inttoBitStr(intstr: string): string;
function IntToHexStr(intStr: string): String;//10 = 2
function IntToOStr(intstr : string): string;
//2进制 to 10,8,16 进制
function BittoInt(BitStr: String): LongInt;// 2 = 10
function BitStrToHextStr(const BitStr : String) : String;//2 = 16
function BitStrToOStr(const BitStr : String) : String;//2 = 8
//16 > 10 2 8 进制
function HextoIntStr(HexStr: String): string;
function HexToBitStr(HexStr: string): string;
function HexToOStr(HexStr: string): string;
//八进制转换成二进制字符串
function OtoBitStr(O : string):string;
function OtoIntStr(O : string):string;
function OtoHexStr(O : string):string;
var
TC :TConversion;
implementation
{ TConversion }
//2 进制 to 10 进制
function TConversion.BittoInt(BitStr: String): LongInt;
var
i,Size: Integer;
begin
Result:=0;
Size:=Length(BitStr);
for i:=Size downto 1 do
begin
//例如 1010
if Copy(BitStr,i,1)='1' then
Result:=Result+(1 shl (Size-i));
end;
//第二种方法
//二进制转换为十进制 start
{
VAR
str : String;
Int : Integer;
i : integer;
Str := UpperCase(Edit1.Text);
Int := 0;
FOR i := 1 TO Length(str) DO
Int := Int * 2 + ORD(str[i]) - 48;
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦