Delphi 系统[13]关键字和保留字 and、or、not、xor、shl、shr、div、mod

Delphi 系统[13]关键字和保留字  and、or、not、xor、shl、shr、div、mod

1、定义:

  • and(逻辑与 或 按位与) 
  • or(逻辑或 或 按位或) 
  • not(逻辑非 或 按位否) //Not用于取反, 它否定了原先的结果
  • xor(逻辑异或  或  按位异或),只要 xor 两边的布尔值不相同(相异),结果就为 True,否则就为 False。只要 xor 两边的位状态不同(0 和 1 不同),结果就为 1,否则就为 0。
  • shl(位左移) //SHL表示向左移位, 左移的位数即乘以2的幂数 
  • shr(位右移) //SHR表示向右移位, 右移的位数即除以2的幂数 
  • div(整除)  //Div用于求两数之整数商.用于Div运算的两个数值必须均为整型, 其运算结果也为整型. 
  • mod(求余数) //Mod用于求两数之整数模, 即余数.用于Mod运算的两个数值必须均为整型, 其运算结果也为整型. 

2、关于xor的特别说明,如图:

a
b
a⊕b
0
0
0
0
1
1
1
0
1
1
1
0

3、示例:

{ 逻辑与 and } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B: Integer; 
begin 
  A := 1; 
  B := -1; 
  if (A > 0) and (B > 0) then 
    Caption := 'True' 
  else 
    Caption := 'False';   { 结果: False } 
end; 
 
{逻辑或 or } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B: Integer; 
begin 
  A := 1; 
  B := -1; 
  if (A > 0) or (B > 0) then 
    Caption := 'True'   { 结果 True } 
  else 
    Caption := 'False'; 
end; 
 
{逻辑非 not } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B: Integer; 
begin 
  A := 1; 
  B := -1; 
  if not A > B then
    Caption := 'True' 
  else 
    Caption := 'False';   { 结果 False } 
end; 
 
{ 逻辑异或 xor} 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B: Integer; 
begin 
  A := 1; 
  B := -1; 
  if (A > 0) xor (B > 0) then 
    Caption := 'True'  { xor 两边的布尔值不同,结果 True }
  else 
    Caption := 'False'; 
end; 
 
{按位与 and } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B, C: Integer; 
begin 
  A := 360; 
  B := 120; 
  C := A and B; 
  Caption := IntToStr(C);  { 结果:104 } 
end; 
 
{按位或 or}  
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B, C: Integer; 
begin 
  A := 360; 
  B := 120; 
  C := A or B; 
  Caption := IntToStr(C);  { 结果:376 } 
end; 
 
{按位否 not } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, C: Integer; 
begin 
  A := 360; 
  C := not A; 
  Caption := IntToStr(C);  { 结果:-361 } 
end; 
 
{ 按位异或 xor} 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B, C: Integer; 
begin 
  A := 360; 
  B := 120; 
  C := A xor B; 
  Caption := IntToStr(C);  { 结果:272 } 
end; 
 
{ 位左移 shl} 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, C: Integer; 
begin 
  A := 360; 
  C := A shl 1;  { 相当于 A 乘以 2 的 1 次方 } 
  Caption := IntToStr(C);  { 结果:720 } 
end; 
 
{ 位右移 shr} 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, C: Integer; 
begin 
  A := 360; 
  C := A shr 1;  { 相当于 A 除以 2 的 1 次方 } 
  Caption := IntToStr(C);  { 结果:180 } 
end; 
 

{ 整除 div } 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B, C: Integer; 
begin 
  A := 36; 
  B := 5; 
  C := A div B; 
  Caption := IntToStr(C);  {7.2,实际输出:7 } 
end; 
 
{ 求余数 mod} 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  A, B, C: Integer; 
begin 
  A := 36; 
  B := 5; 
  C := A mod B; 
  Caption := IntToStr(C);  { 结果:1 } 
end; 

  

 

 

 

 

 

创建时间:2021.08.11  更新时间:

 

posted on 2021-08-11 16:49  滔Roy  阅读(1232)  评论(0编辑  收藏  举报

导航