關於 Lo、Hi、LoWord、HiWord

來源:互聯網
上載者:User
Cardinal 是 4 位元組無符號的整型, 先看一個例數:

Cardinal 例數: 4277991664
按位元組劃分: 第四位元組 第三位元組 第二位元組 第一位元組
二進位: 11111110 11111100 11111000 11110000
十六進位: FE FC F8 F0
十進位: 254 252 248 240
按雙位元組劃分: 高兩位 低兩位
二進位: 1111111011111100 1111100011110000
十六進位: FEFC F8F0
十進位: 65276 63728
//可以用 Lo 函數提取它的低位元組(也就是第一個位元組)const  c: Cardinal = 4277991664;begin  ShowMessageFmt('%d', [Lo(c)]); {240}end;//其實不使用 Lo 函數, 通過 Byte 類型轉換也可以擷取第一個位元組const  c: Cardinal = 4277991664;begin  ShowMessageFmt('%d', [Byte(c)]); {240}end;//Hi 函數說是擷取高位位元組, 其實是擷取第二個位元組const  c: Cardinal = 4277991664;begin  ShowMessageFmt('%d', [Hi(c)]); {248}end;//如果要擷取低兩位, 貌似應該有個 LoWord 函數; 確實有, 但它不是函數, 只是 Word 類型的一個別稱.const  c: Cardinal = 4277991664;begin  ShowMessageFmt('%d', [LoWord(c)]); {63728}  ShowMessageFmt('%d', [Word(c)]);   {63728}end;//HiWord 函數是提取高兩位的const  c: Cardinal = 4277991664;begin  ShowMessageFmt('%d', [HiWord(c)]); {65276}end;

說說 LoWord 和 HiWord 的用途:

譬如在一個滑鼠訊息的訊息參數 lParam 中存放著滑鼠位置. lParam 是 4 位元組的, 它的低兩位存放 x、高兩位存放 y ...

我在這個例子中用到過: http://www.cnblogs.com/del/archive/2008/04/19/1160968.html

System 單元下的公用函數目錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.