16位元可能代表的意思 |
答題得分者是:TheMoon
|
huangcc
一般會員 發表:7 回覆:6 積分:2 註冊:2004-10-29 發送簡訊給我 |
各位前輩好:
小弟想請教一下各位前輩,在BCB中,出現16位元時,這個16位元可能代表的是某物件、位置、...,還是其他的意思呢???例如向下面的程式中的
sum = 0xffffffff;
及
((sum&0x00ffffff) == 0
,希望各位前輩給小弟指點迷津。萬分感謝~~~!!!
for (int y=y1; y |
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
引言: 各位前輩好: 小弟想請教一下各位前輩,在BCB中,出現16位元時,這個16位元可能代表的是某物件、位置、...,還是其他的意思呢???例如向下面的程式中的 sum = 0xffffffff; 及 if ((sum&0x00ffffff)) == 0 ,希望各位前輩給小弟指點迷津。萬分感謝~~~!!!for (int y=y1; y (1) 先更正一下您的問題, 您所謂的"16位元"應該是"16進位表示法"才正確。 (2) 此段程式中sum的功能相當於一個32-bits的暫存變數, 用以暫存Image中一個Pixel的值, sum的初設值為0xffffffff, 相當於二進位表示法1111...1111(32個1), 將sum和Image2->Canvas->Pixels[x][y]做"&運算", 然後將值存入sum中。 (3) 接著再將sum和0x00ffffff做"&運算", 判斷此點之色值是否為純黑色, 因為在24-bits影像中純黑色之RGB值為:R=0x00,G=0x00,B=0x00, 組合起來就是0x000000。 |
huangcc
一般會員 發表:7 回覆:6 積分:2 註冊:2004-10-29 發送簡訊給我 |
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
再補充一下, 二進位中任何數與1做&(And)運算其值不變,與0做&(And)運算其值為0, 0&1 → 0, 1&1 → 1, 0&0 → 0, 1&0 → 0, 所以某數A與0xFFFFFFFF做&運算,其結果還是A (A&0xFFFFFFFF = A), 因此sum = 0xffffffff; sum = sum&Image2->Canvas->Pixels[x][y]; 這段程式碼其意義等於將Image2->Canvas->Pixels[x][y]的值指定給sum, 在此0xffffffff就如同一個邏輯運算的遮罩(32個bit皆為1的遮罩)。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |