送分题,关于WORD型转成低高位的运算。(20分)

  • 主题发起人 主题发起人 cjsam
  • 开始时间 开始时间
C

cjsam

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义一个变量
VAR a:word;
现在我要分出它的低高位。
例如:
VAR
a:word;
higha,lowa:byte;
begin
a:=$20;
higha:=
lowa:=
//怎样求 higha,lowa(他们是将OX14分解成低位和高位的。)的值end;
 
你上面的说法是不对的,$20 已经是十六进制表示!!

procedure TForm1.Button2Click(Sender: TObject);
VAR
a:word;
higha,lowa:byte;
begin
a:=$2111;
higha:=hi(a);
lowa:=lo(a);
end;
 
HIBYTE()
lobyte()函数
 
procedure TForm1.Button2Click(Sender: TObject);
VAR
a:word;
higha,lowa:byte;
begin
a:=$2111;
higha:=hi(a)
//0x21
lowa:=lo(a)
//0x11
showmessage(inttohex(integer(higha),2));
showmessage(inttohex(integer(lowa),2));

end;
 
用shl或shr来移位就可以
 
to:jsxjd,
你是什么意思?我知道$20本来就是16禁止呀,但是我要把它分成两个BYTE型
分别是低位和高位。
 
你的$20,相当于10进制的32,他只占一个字节,如果赋给word类型的变量,高位全是0
所以hi取出来是0,LO取出来还是$20。
 
多人接受答案了。
 
后退
顶部