求有关位运算的问题:要把字符做一定的转换,要把它的高4位跟低4位互换,如何做? ( 积分: 50 )

  • 主题发起人 主题发起人 大花鸡
  • 开始时间 开始时间

大花鸡

Unregistered / Unconfirmed
GUEST, unregistred user!
要把字符做一定的转换,要把它的高4位跟低4位互换,如何做?
 
要把字符做一定的转换,要把它的高4位跟低4位互换,如何做?
 
高4位跟低4位互换,还是字符吗?
 
再XOR,用CHR就可以看到字符。是单向的,又不是双向转换的
 
Function Exchange(a:char):char
begin
result:=chr((ord(a) shr 4) or (ord(a) shl 4));
end;
 
procedure TForm1.Button7Click(Sender: TObject);
var
tmpchar,RtnChar : char ;
HByte,LByte: byte ;
begin
tmpchar:='x' ;
HByte:= ord(tmpchar) div 16 ;
LByte:= ord(tmpchar) mod 16 ;
RtnChar := chr(LByte*16 + HByte) ;
edit1.Text:= format('%d/%d',[HByte,LByte])+'/'+RtnChar +'/'+ inttostr(LByte*16 + HByte);
end;
 
多人接受答案了。
 
后退
顶部