Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Big-endian and little-endian formated integers


How can I create big-endian and little-endian formated integers?   

    The big-endian and little-endian format simply swaps the HiByte and LoBytes and HiWords and LoWords of a given integer or word value. The following demonstrates swapping the values of a given word or longint. Calling the Endian functions a second time reverts the values back to their original format.

    function EndianWord(w : word) : word;
    begin
      result := swap(w);
    end;

    function EndianInt(i : integer) : integer; begin result := swap(i); end;

    function EndianLong(L : longint) : longint; begin result := swap(L shr 6) or (longint(swap(L and $ffff)) shl 6); end;

    procedure TForm .Button Click(Sender: TObject); var w : word; i : integer; l : LongInt; begin w := 0; i := - 0; l := 024; w := EndianWord(w); i := EndianInt(i); l := EndianLong(l); {again!} w := EndianWord(w); i := EndianInt(i); l := EndianLong(l); Memo .Lines.Add(IntToStr(w)); Memo .Lines.Add(IntToStr(i)); Memo .Lines.Add(IntToStr(l)); end;

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use