zoukankan      html  css  js  c++  java
  • 10进制与16进制之间的转换 delphi

    delphi中有直接把10进制转换成16进制的函数:

      function   IntToHex(Value:   Integer;   Digits:   Integer):   string;   overload;  
      function   IntToHex(Value:   Int64;   Digits:   Integer):   string;   overload;

    使用方法为:

    procedure   TForm1.Button1Click(Sender:   TObject);  
    var  
          i,m:   Integer;   
    begin   
       Label1.Caption   :=   '';   
       for   i   :=   1  to  Length(Edit1.Text)  do   
       begin

          m :=  StrToInt(Edit1.Text[i]));     
          edit2 := IntToHex(StrToInt(Edit1.Text[i]),2)+ '';   
          edit3 := IntToHex(m,2);        

       end;   
    end;

    然而,delphi中却没有把16进制直接转换成10进制的函数,将16进制转换成10进制需要自己定义函数,这是自己编写的一个,不当之处还请指出:

    function HexToInt (str:string) : word;
    var
       i , value : word;
       pos : word;

    begin
       value:=0;
       pos:=length(str);
       for i:=1 to pos  do
       begin
          case str[i] of
          'f','F':
                  value := value*16+15;
          'e','E':
                  value := value*16+14;
          'd','D':
                  value := value*16+13;
          'c','C':
                  value := value*16+12;
          'b','B':
                  value := value*16+11;
          'a','A':
                  value := value*16+10;
          '0'..'9':
                  value := value*16+ord(str[i])-ord('0');
          else
             result:=value;
             exit;
          end;
       result:=value;
      end;
     
    end;


  • 相关阅读:
    容器占用空间的小问题
    一个ipv4到ipv6的移植问题
    一个linux内核模块移植到低版本时发生的异常
    一个发包乱序问题记录
    一个docker镜像中的目录删除不了问题
    C/C++(共用体与枚举)
    C/C++(数据结构栈的实现)
    C/C++(结构体)
    C/C++(内存管理)
    C/C++(指针数组)
  • 原文地址:https://www.cnblogs.com/xtfnpgy/p/9285367.html
Copyright © 2011-2022 走看看