delphi 的按位運算子共有六個: not and or xor shr shl;
其中的 not and or xor 也叫邏輯運算子, 其實功能都是一樣的, 因為不管什麼資料追到底都是 0 和 1 的組合;
在 delphi 內嵌彙編中, 應該也沒什麼區別(內嵌彙編還在學習中, 不太熟).
測試下面的例子時, 可以用這裡的方法:
unitunit1;
inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls;
type
tform1 =
class(tform)
button1: tbutton;
button2: tbutton;
button3: tbutton;
button4: tbutton;
button5: tbutton;
button6: tbutton;
procedurebutton1click(sender: tobject);
procedurebutton2click(sender: tobject);
procedurebutton3click(sender: tobject);
procedurebutton4click(sender: tobject);
procedurebutton5click(sender: tobject);
procedurebutton6click(sender: tobject);
end;
var
form1: tform1;
implementation
const
w1: word =
61680
;
w2: word =
3855
;
var
w: word;
proceduretform1.button1click(sender: tobject);
begin
w :=
notw1;
showmessage(inttostr(w));
end;
proceduretform1.button2click(sender: tobject);
begin
w := w1
andw2;
showmessage(inttostr(w));
end;
proceduretform1.button3click(sender: tobject);
begin
w := w1
orw2;
showmessage(inttostr(w));
end;
proceduretform1.button4click(sender: tobject);
begin
w := w1
orw2;
showmessage(inttostr(w));
end;
proceduretform1.button5click(sender: tobject);
begin
w := w1
shr
1;
showmessage(inttostr(w));
w := w1
shr
3;
showmessage(inttostr(w));
w := w1
div
8;
showmessage(inttostr(w));
end;
proceduretform1.button6click(sender: tobject);
var
i: integer;
begin
w := w1
shl
1;
showmessage(inttostr(w));
w := w1
shl
3;
showmessage(inttostr(w));
w := w1 *
8;
showmessage(inttostr(w));
i := w1
shl
3;
showmessage(inttostr(i));
i := w1 *
8;
showmessage(inttostr(i));
end;
end.
位運算詳釋
很多系統程式中常要求在位 bit 一級進行運算或處理a。語言提供了位運算的功能,這使得 語言也能像組合語言一樣用來編寫系統程式。一 位運算子 語言提供了六種位運算子 按位與 按位或 按位異或 取反 左移 右移 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有...
位運算(1) 初識位運算
前段時間數電課學了些進製轉換,還有與或非等邏輯運算,如今再來看看位運算,倒輕鬆了不少。很早就想寫些非總結性部落格了,奈何還是太懶。也也不知怎的突然又來了興致,趕忙寫下這篇部落格。廢話不多說,今天準備總結總結關於位運算的知識。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的,即0 1兩種狀態,...
位運算子和位運算
一 按位與 運算子 1 運算規則 參加運算的兩個 資料,按二進位進行 與 運算,如果兩個相應的二進位都為1,則該位的結果值為1,否則為0,即 0 0 0,0 1 0,1 0 0,1 1 1.2 用途 1 清零 運算物件 原來的數中為1的位,新數中相應位為0。2 取乙個數中某些指定位。如想要取乙個整數...