程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> IntToHex(10-16進制的轉換)

IntToHex(10-16進制的轉換)

編輯:Delphi
對那個10-2進制轉換的程序,我很高興很多朋友都提供了比我要簡潔的好方法,這是看到一位朋友的BLOG後,寫的10-16的轉換,一開始我還寫錯了,呵呵,現在將正確的留在網志,他要求是自己寫轉換而不是利用類似
  Format('Integer %0:d in Hex is %0:.8x', [Value]);
  當然,有簡單方法我們要用簡單方法哦接著介紹自己的方法
  var HexArr: array[1..15]of string= ('1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

  function Int2Hex(Value: Integer): string;
  var
    iTemp: Integer;
    i: Integer;
  begin
    Result := '';
    i := 0;
    while i<4 do
    begin
      case i of
        0: iTemp := Value shr 24 and $FF;
        1: iTemp := Value shr 16 and $FF;
        2: iTemp := Value shr 8 and $FF;
        3: iTemp := Value and $FF;
      end;
      if not Boolean(iTemp) then Result := Result + '00'
      else begin
        Result := Result + HexArr[iTemp div 16];
        Result := Result + HexArr[iTemp mod 16];
      end;
      Inc(i);
    end;
  end;
  
  測試:ShowMessage(Int2Hex(-1)); //顯示FFFFFFFF
             ShowMessage(Int2Hex(MAXINT)); //顯示7FFFFFFF 
  
  希望大家多提意見,個人覺得挺簡潔明了了,呵呵,很明顯每步在做什麼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved