線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1191
推到 Plurk!
推到 Facebook!

請問一個二進位的運算

答題得分者是:gyl
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-23 17:12:17 IP:210.243.xxx.xxx 未訂閱
k:byte k:=250; //即FA=1111 1010 k:=(k and 11110000); // 結果k=112,為何不是240呢(即11110000) k:=(k and 00001111); // 結果k=82,為何不是10呢(即00001010) 我該如何寫,才會是我想要的答案(即240與10) (而我目前的替代方式為先用shr,再用shl,但我想用and運算元來寫較明瞭) 謝謝!
gyl
一般會員


發表:0
回覆:15
積分:13
註冊:2005-01-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-23 18:05:06 IP:211.76.xxx.xxx 未訂閱
我測試了一下, 發現如果規格統一的話,結果就正確了 e.g. k := k and 240; // k = 240 k := k and 15; // k = 10 Delphi似乎有ByteToBin()這個函數,但是我用的是BCB,BCB似乎用別的方法 你可以嘗試k := ByteToBin(k) and 11110000;
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-23 21:35:25 IP:61.216.xxx.xxx 未訂閱
感謝gyl大大 其實有時問題很簡單,別想的太複雜了,哈!
系統時間:2024-05-17 11:51:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!