zoukankan      html  css  js  c++  java
  • 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  更新时间:

    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你所有帮助,谢谢!
  • 相关阅读:
    mxGraph 3.7.2
    ER模型
    帮忙画个ER图_百度知道
    ER图
    Download Devart T4 Editor
    Codeuml —— 设计 UML 图表跟你编码一样快
    使用 Sublime + PlantUML 高效地画图
    Rappid Diagramming Framework
    Activiti Designer 5.15.0 发布,可视化流程设计器
    JavaScript Diagramming
  • 原文地址:https://www.cnblogs.com/guorongtao/p/15129010.html
Copyright © 2011-2022 走看看