我想在程序中直接用16进制的数来运算,不知道在delphi中怎么表示,请大家帮忙!
 lsword:=$1111h;//这样不行
 hsword:=$1111h;//这样不行 
  lsword:=lsword and $ffh;//这样不行
  lsword:=lsword*2;
  haddr:=$9000h+lsword;//这样不行
我要运算16进制的数,程序中该怎么写?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ls,lh:Integer;
    begin
      ls:=$12;
      lh:=$13;
      showmessage(inttostr(ls and lh));
    end;
      

  2.   

    函数  : RESULTSTRING = HexToBin(HEXSTRING) 
     目的   : 把十六进制字符串转换为二进制字符串   
    函数  : RESULTINTEGER = HexCharToInt(HEXCHAR) 
     目的   : 转换一个十六进制字符为整数
    函数  : RESULTSTRING = HexCharToBin(HEXCHAR) 
     目的   : 转换一个十六进制字符为二进制字符串取32位地址的高16位用selectorof}{取32位地址的低16位用offsetof }系统中有许多的自带函数即可解决!
      

  3.   

    lsword:=$1111;//这样不行
     hsword:=$1111;//这样不行 
      lsword:=lsword and $ff;//这样不行
      lsword:=lsword*2;
      haddr:=$9000+lsword;//这样不行
      

  4.   

    我操作十六制数据是这样操作的.
    Var
      Val: Integer;
      HexStr: String;
    Begin
      Val:= 100;
      HexStr:= IntToHex(Val, 8);
      Val:= Copy('$'+ HexStr);  //Val = 100
    End;
      

  5.   

    lsword:=$1111h;//这样不行
    hsword:=$1111h;//这样不行
     
    lsword:=lsword and $ffh;//这样不行
    lsword:=lsword*2;
    haddr:=$9000h+lsword;//这样不行
    -------------------------------to-------------------------------
    lsword:=$1111; //这样可以了吧,代表两个字节
    hsword:=$1111; //这样可以了吧,代表两个字节
     
    lsword:=lsword and $ff
    lsword:=lsword*2;
    haddr:=$9000+lsword;